JSON Python评估
Json: 有没有一种快速的方法可以像在javascript中那样对其进行评估,这样您就可以通过简单地评估JSON格式的完整文本文件来获得Python2.7对象 所以你有这样的想法:JSON Python评估,python,json,python-2.7,Python,Json,Python 2.7,Json: 有没有一种快速的方法可以像在javascript中那样对其进行评估,这样您就可以通过简单地评估JSON格式的完整文本文件来获得Python2.7对象 所以你有这样的想法: { "Herausgeber": "Xema", "Nummer": "1234-5678-9012-3456", "Deckung": 2e+6, "Waehrung": "EURO", "Inhaber": { "Name": "Mustermann", "Vorname":
{
"Herausgeber": "Xema",
"Nummer": "1234-5678-9012-3456",
"Deckung": 2e+6,
"Waehrung": "EURO",
"Inhaber": {
"Name": "Mustermann",
"Vorname": "Max",
"maennlich": true,
"Hobbys": [ "Reiten", "Golfen", "Lesen" ],
"Alter": 42,
"Kinder": [],
"Partner": null
}
}
不要eval()
;JSON不是Python,即使它们看起来很像。使用以下命令对其进行分析:
file = read('text.json')
obj = eval(file)
这用于从打开的文件对象加载JSON数据。如果您有一个包含JSON数据的字符串,请使用(注意s
)。您可以尝试:
import json
with open('text.json') as f:
obj = json.load(f)
上述代码引发了一个错误:
NameError:未定义名称“true”
因此,因为true关键字在python中是不可接受的,所以最好不要这样做
请执行以下操作: “youcantry”部分的可能重复是错误的建议,而不仅仅是因为python不接受“true”。此数据不是python,将其视为编码错误。这与在XML或菜谱或歌词上调用
eval
没有什么不同。
eval("""{
"Herausgeber": "Xema",
"Nummer": "1234-5678-9012-3456",
"Deckung": 2e+6,
"Waehrung": "EURO",
"Inhaber": {
"Name": "Mustermann",
"Vorname": "Max",
"maennlich": true,
"Hobbys": [ "Reiten", "Golfen", "Lesen" ],
"Alter": 42,
"Kinder": [],
"Partner": null
}
}""")
import json
obj = json.loads("""{
"Herausgeber": "Xema",
"Nummer": "1234-5678-9012-3456",
"Deckung": 2e+6,
"Waehrung": "EURO",
"Inhaber": {
"Name": "Mustermann",
"Vorname": "Max",
"maennlich": true,
"Hobbys": [ "Reiten", "Golfen", "Lesen" ],
"Alter": 42,
"Kinder": [],
"Partner": null
}
}""")
print(obj)