Estou um pouco confuso com JSON em Python. Para mim, parece um dicionário e, por esse motivo, estou tentando fazer isso:
{
"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"
}
}
}
}
}
Mas quando eu faço print dict(json)
, dá um erro.
Como posso transformar essa string em uma estrutura e depois chamar json["title"]
para obter o "glossário de exemplo"?
.load()
analisa um objeto de arquivo;.loads()
analisa um 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)
Tenho certeza de que isso pode ser melhorado, mas agora você pode chamard = read_json(j)
um json 'str' ou 'file'.Quando comecei a usar o json, fiquei confuso e incapaz de descobrir por algum tempo, mas finalmente consegui o que queria.
Aqui está a solução simples
fonte
loads(..)
on'{"id": 2, "name": "hussain"}'
também deve ser bom como a resposta aceita.time
FYI, estou tentandoloads
partir de strings dinâmicas com codificação utf-8 ...use simplejson ou cjson para acelerações
fonte
Se você confia na fonte de dados, pode
eval
converter sua string em um dicionário:eval(your_json_format_string)
Exemplo:
fonte