J'ai besoin de convertir une chaîne JSON en objet Python. Je veux dire par objet « nouveau » objet python3 comme:Comment convertir json en objet?
class MyClass(object):
J'ai trouvé plusieurs aide par exemple sur la documentation jsonpickle. Mais tout ce que j'ai trouvé sont des tutoriels qui convertissent l'objet en json d'abord et après cette conversion en arrière.
Je souhaite convertir une chaîne json à partir d'un Rest-API.
Voici ce que je l'ai fait jusqu'à présent:
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)
Il en résulte:
TypeError: the JSON object must be str, bytes or bytearray, not 'method'
Il est tout à fait clair pour moi que jsonpickle ne peut pas convertir en mes classes (but, Match), car je ne dis pas à jsonpickle dans quelle classe la sortie doit être convertie. Le problème est que je ne sais pas comment dire jsonpickle pour convertir le JSON en objet de type Match? Et comment puis-je dire que la liste des objectifs devrait être de type List<Goal>
?
'obj = jsonpickle.decode (result.content)' => Cela vous donnera un dictionnaire. – falsetru
'obj = result.json()' vous donnera également un dictionnaire. – falsetru