JSON Python评估

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":

Json:

有没有一种快速的方法可以像在javascript中那样对其进行评估,这样您就可以通过简单地评估JSON格式的完整文本文件来获得Python2.7对象

所以你有这样的想法:

{
  "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)