JSON Python求值

2024-04-20 04:53:26 发布

您现在位置:Python中文网/ 问答频道 /正文

Json:

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

有没有一种快速的方法可以在javascript中进行类似的计算,这样您就可以通过简单地计算JSON格式的完整文本文件来获得python2.7对象?在

所以你有这样的东西:

^{pr2}$

Tags: namejsontruemaxeuronummervornameinhaber
2条回答

不要eval();JSON不是Python,即使它们看起来非常相似。使用^{} module解析它:

import json

with open('text.json') as f:
    obj = json.load(f)

它使用^{}从打开的文件对象加载JSON数据。如果有一个包含JSON数据的字符串,请使用^{}(注意s)。在

你可以试试:

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

上述代码引发错误:

NameError: name 'true' is not defined

因此,因为true关键字在python中是不可接受的,所以最好不要这样做。在


请按以下步骤操作:

^{pr2}$

相关问题 更多 >