2016-08-11 11 views
6

में जेसन और dict के बीच स्पष्टीकरण अंतर की आवश्यकता है, मैं पाइथन में जेएसओएन और डिक्ट को और अधिक गहराई से समझने के लिए उत्सुक हूं।पायथन

मैं इस तरह एक सर्वर से एक JSON प्रतिक्रिया:

`{"city":"Mississauga","country":"Canada","countryCode":"CA"}` 

और मैं एक शब्दकोश के रूप में यह काम करना चाहते हैं। इसके लिए, मैं .json() फ़ंक्शन का उपयोग करता हूं। मैं res.json()['city'] का उपयोग करके डेटा क्यों प्राप्त कर सकता हूं, लेकिन req.json().city के साथ ऐसा नहीं कर सकता?

+1

'.json() 'एक शब्दकोश देता है। यह कोई विशेष वस्तु नहीं है। यदि एक शब्दकोश '। City' काम करने देता है, तो यह संख्यात्मक कुंजी के लिए क्या करेगा? जब आपने 'dictionary.copy' कहा था, तो क्या आप शब्दकोश की' प्रतिलिपि विधि 'या' शब्दकोश ['प्रतिलिपि'] के लिए पूछेंगे? – zondo

+3

पायथन जावास्क्रिप्ट नहीं है। जावास्क्रिप्ट में, 'thing.x' को' चीज़ ["x"] 'के लिए शॉर्टेंड के रूप में परिभाषित किया गया है; पायथन में, वे दो पूरी तरह से अलग चीजें हैं। – user2357112

उत्तर

7

पायथन में, my_dict.key वाक्यविन्यास का उपयोग करके शब्दकोश मानों तक पहुंच योग्य नहीं है। यह dict वर्ग के गुणों के लिए आरक्षित है, जैसे dict.get और dict.update। शब्दकोश मान केवल my_dict[key] वाक्यविन्यास के माध्यम से सुलभ हैं।

+1

धन्यवाद, अब यह अधिक स्पष्ट है। मैं गलत समझ में था क्योंकि पाइथन शब्दकोश डेटा प्रकार में वस्तु का उप प्रकार है और सोचा था कि मैं इसे उसी तरह उपयोग कर सकता हूं। – user1542557