मैं json.dumps
का उपयोग कर JSON में अपनी पायथन वस्तुओं को क्रमबद्ध करने की कोशिश कर रहा हूं। यदि आप का उपयोग कर dict
को क्रमबद्ध करते हैं तो इसे स्पष्ट रूप से JSON शब्दकोश {..}
के रूप में क्रमबद्ध किया जाएगा; यदि आप list
या tuple
को क्रमबद्ध करते हैं, तो यह एक JSON सरणी होगी।यदि संभव हो तो Python dict से JSON को एक सूची के रूप में परिवर्तित करने के लिए कैसे करें
मैं जानना चाहता हूं कि यदि संभव हो तो एक पायथन dict
को JSON list
के रूप में आसानी से क्रमबद्ध करने का कोई तरीका है या नहीं। द्वारा यदि संभव हो तो, मेरा मतलब है अगर चाबियाँ 0 पर शुरू करने और अनुक्रम रहे हैं, उदाहरण के लिए:
{0:'data',1:'data',2:'data}
ऊपर के रूप में JSON में धारावाहिक की जाएगी: '{"0": "data", "1": "data", "2": "data"}'
, लेकिन मैं चाहते हैं यह ['data','data','data']
कुंजी के बाद से के रूप में श्रृंखलाबद्ध जा करने के लिए 0 से शुरू करें और अनुक्रमित हैं।
इसके लिए मेरा तर्क इसलिए है क्योंकि मेरे पास PHP से क्रमबद्ध जेएसओएन डेटा है, जहां PHP सरणी में चाबियाँ हैं और यदि कुंजी ऊपर वर्णित अनुसार अनुक्रमित हैं, तो PHP के json.encode
किसी भी अन्य में कुंजी होने पर सरणी का उपयोग करता है तरीका, वे JSON शब्दकोश के रूप में serialized हैं। मैं चाहता हूं कि मेरा JSON serializations मेरे PHP और पायथन कोड दोनों के लिए मेल खाता हो। दुर्भाग्य से, PHP कोड बदलना मेरे मामले में एक विकल्प नहीं है।
कोई सुझाव? मुझे मिला एकमात्र समाधान है कि प्रत्येक पायथन शब्दकोश को पार करने और सत्यापित करने के लिए अपना स्वयं का फ़ंक्शन लिखना और देखें कि इसे json.dumps
से पहले list
में परिवर्तित किया जा सकता है या नहीं।
संपादित: इस उद्देश्य यह है कि मैं हो सकता है एक list
या एक dict
, साथ ही, यह इसके अंदर अतिरिक्त dicts, और सूचियों, और इतने पर (नेस्टिंग) हो सकता था serializing कर रहा हूँ। मैं सोच रहा हूं कि ऐसा करने का कोई 'सरल' तरीका है, अन्यथा मेरा मानना है कि मैं खुद को एक पुनरावर्ती समाधान लिख सकता हूं। लेकिन अधिक बग से बचने के लिए मौजूदा कोड का उपयोग करना हमेशा बेहतर होता है।
मुझे यकीन नहीं है कि 'dict.values ()' py3k में काम करेगा या नहीं। इसके अलावा, एफडब्ल्यूआईडब्ल्यू, डिक्ट्स एक ऑर्डर किए गए डेटा-प्रकार नहीं हैं, इसलिए क्रमबद्ध सूची का क्रम अच्छी तरह से परिभाषित किया जाएगा, लेकिन "मनमानी" भी होगा यदि आप 'json.dumps (सूची (dict.values ()) करते हैं) ' – mgilson