r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
file.write(str(r['rating']))
मैं JSON में अपना डेटा एक्सेस नहीं कर पा रहा हूं। मैं क्या गलत कर रहा हूं?
TypeError: string indices must be integers, not str
r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
file.write(str(r['rating']))
मैं JSON में अपना डेटा एक्सेस नहीं कर पा रहा हूं। मैं क्या गलत कर रहा हूं?
TypeError: string indices must be integers, not str
जवाबों:
json.dumps()
एक शब्दकोश को str
वस्तु में परिवर्तित करता है , वस्तु को नहीं json(dict)
! तो अगर आप लोड करने के लिए अपने str
एक में dict
का उपयोग करके इसे उपयोग करने के लिए json.loads()
विधि
json.dumps()
एक बचत विधि के json.loads()
रूप में और एक पुनः प्राप्त विधि के रूप में देखें ।
यह कोड नमूना है जो आपको इसे और समझने में मदद कर सकता है:
import json
r = {'is_claimed': 'True', 'rating': 3.5}
r = json.dumps(r)
loaded_r = json.loads(r)
loaded_r['rating'] #Output 3.5
type(r) #Output str
type(loaded_r) #Output dict
json.dumps()
अजगर के जोंस स्ट्रिंग प्रतिनिधित्व को वापस लौटाता है। डॉक्स देखें
आप ऐसा नहीं कर सकते r['rating']
क्योंकि r एक स्ट्रिंग है, अब एक तानाशाही नहीं है
शायद आपका मतलब कुछ ऐसा था
r = {'is_claimed': 'True', 'rating': 3.5}
json = json.dumps(r) # note i gave it a different name
file.write(str(r['rating']))
उपयोग करके इसे स्ट्रिंग में बदलने की आवश्यकता नहीं है json.dumps()
r = {'is_claimed': 'True', 'rating': 3.5}
file.write(r['is_claimed'])
file.write(str(r['rating']))
आप सीधे वस्तु से मूल्यों को प्राप्त कर सकते हैं।
loaded_r
, यह देखते हुए कि आपके पास पहले से ही हैr
?