Ich bin ein bisschen verwirrt mit JSON in Python. Für mich scheint es ein Wörterbuch zu sein, und aus diesem Grund versuche ich das zu tun:
{
"glossary":
{
"title": "example glossary",
"GlossDiv":
{
"title": "S",
"GlossList":
{
"GlossEntry":
{
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef":
{
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
Aber wenn ich das tue print dict(json)
, gibt es einen Fehler.
Wie kann ich diesen String in eine Struktur umwandeln und dann aufrufen json["title"]
, um ein "Beispielglossar" zu erhalten?
.load()
ein Dateiobjekt analysiert wird..loads()
analysiert ein String- / Unicode-Objekt.def read_json(json_data): if (type(json_data) == str): return json.loads(json_data) elif (str(type(json_data)) == "<class '_io.TextIOWrapper'>"): return json.load(json_data)
Ich bin sicher, dass dies verbessert werden kann, aber jetzt können Sied = read_json(j)
eine json-Datei "str" oder "file" aufrufen .Als ich anfing, json zu verwenden, war ich verwirrt und konnte es einige Zeit nicht herausfinden, aber schließlich bekam ich, was ich wollte.
Hier ist die einfache Lösung
quelle
loads(..)
on'{"id": 2, "name": "hussain"}'
sollte ebenso gut sein wie die akzeptierte Antwort.time
FYI erspart hat . Ich versuche,loads
dynamische Zeichenfolgen mit utf-8-Codierung zu verwenden ...Verwenden Sie simplejson oder cjson für Beschleunigungen
quelle
Wenn Sie der Datenquelle vertrauen, können Sie
eval
Ihre Zeichenfolge in ein Wörterbuch konvertieren:eval(your_json_format_string)
Beispiel:
quelle