मुझे एक जेसन-स्ट्रिंग को पायथन ऑब्जेक्ट में कनवर्ट करने की आवश्यकता है। ऑब्जेक्ट से मेरा मतलब है "नया" पायथन 3 ऑब्जेक्ट:जेसन को ऑब्जेक्ट में कैसे परिवर्तित करें?
class MyClass(object):
मुझे jsonpickle दस्तावेज़ों पर उदाहरण के लिए कई मदद मिलीं। लेकिन मुझे जो कुछ मिला वह ट्यूटोरियल हैं जो ऑब्जेक्ट को जेसन में पहले परिवर्तित करते हैं और इसके बाद पीछे की ओर कनवर्ट करते हैं।
मैं Rest-API से एक जेसन-स्ट्रिंग को कन्वर्ट करना चाहता हूं।
TypeError: the JSON object must be str, bytes or bytearray, not 'method'
यह मेरे लिए काफी स्पष्ट है कि jsonpickle मेरी कक्षाओं को यह नहीं बदल सकते है (लक्ष्य, मैच:
import requests
import jsonpickle
class Goal(object):
def __init__(self):
self.GoaldID = -1
self.IsPenalty = False
class Match(object):
def __init__(self):
self.Goals = []
headers = {
"Content-Type": "application/json; charset=utf-8"
}
url = "https://www.openligadb.de/api/getmatchdata/39738"
result = requests.get(url=url, headers=headers)
obj = jsonpickle.decode(result.json)
print (obj)
इस में जो परिणाम:
यहाँ मैं अब तक क्या किया है है), क्योंकि मैं jsonpickle नहीं बताता कि किस वर्ग में आउटपुट को परिवर्तित किया जाना चाहिए। समस्या यह है कि मुझे नहीं पता कि JSONpickle को जेएसओएन को ऑब्जेक्ट में टाइप मैच से कैसे परिवर्तित करना है? और मैं कैसे बता सकता हूं कि लक्ष्यों की सूची List<Goal>
प्रकार का होना चाहिए?
obj = jsonpickle.decode(result.content) # NOTE: `.content`, not `.json`
obj = result.json()
लेकिन इनमे से कोई भी आप आप क्या चाहते हैं (अजगर वस्तु (dicitonary नहीं)) दे देंगे:
'obj = jsonpickle.decode (result.content)' => यह आपको एक शब्दकोश दे देंगे। – falsetru
'obj = result.json() 'आपको एक शब्दकोश भी देगा। – falsetru