Estoy un poco confundido con JSON en Python. Para mí, parece un diccionario, y por eso estoy tratando de hacer eso:
{
"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"
}
}
}
}
}
Pero cuando lo hago print dict(json), da un error.
¿Cómo puedo transformar esta cadena en una estructura y luego llamar json["title"]para obtener un "glosario de ejemplo"?

.load()analiza un objeto de archivo;.loads()analiza un objeto string / unicode.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)estoy seguro de que esto se puede mejorar, pero ahora puedes invocard = read_json(j)un json 'str' o 'file'.Cuando comencé a usar json, estaba confundido e incapaz de resolverlo por algún tiempo, pero finalmente obtuve lo que quería
Aquí está la solución simple
fuente
loads(..)on'{"id": 2, "name": "hussain"}'también debería estar bien, como la respuesta aceptada.time, para su información, estoy tratandoloadsde cadenas dinámicas con codificación utf-8 ...use simplejson o cjson para acelerar
fuente
Si confía en la fuente de datos, puede usar
evalpara convertir su cadena en un diccionario:eval(your_json_format_string)Ejemplo:
fuente