Я немного запутался с JSON в Python. Мне кажется, словарь, и по этой причине я пытаюсь сделать это:
{
"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"
}
}
}
}
}
Но когда я это делаю print dict(json)
, выдает ошибку.
Как я могу преобразовать эту строку в структуру и затем вызвать json["title"]
"пример глоссария"?
.load()
анализирует файловый объект;.loads()
разбирает строковый / юникод-объект.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)
я уверен, что это можно улучшить, но теперь вы можете вызватьd = read_json(j)
json 'str' или 'file'.Когда я начал использовать json, я был в замешательстве и некоторое время не мог понять это, но в конце концов я получил то, что хотел.
Вот простое решение
источник
loads(..)
on'{"id": 2, "name": "hussain"}'
также должно быть хорошо, как принятый ответ.time
, к вашему сведению, я пытаюсь получитьloads
динамические строки с кодировкой utf-8 ...используйте simplejson или cjson для ускорения
источник
Если вы доверяете источнику данных, вы можете использовать
eval
для преобразования вашей строки в словарь:eval(your_json_format_string)
Пример:
источник