Python无效的JSON格式如何par

2024-05-01 21:50:56 发布

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

我正在获取以下JSON格式的数据:

{
  address:[
    "test1"
  ],
  city:"test2",
  country:"test3",
  postal_code:"test4",
  state:"test5"
}

当我试图通过以下方式解析它时:

^{pr2}$

我收到一个错误:要求属性名用双引号括起来

有没有一种方法可以在python中解析它?在

提前谢谢你


Tags: 数据jsoncityaddress格式方式codecountry
3条回答

你的变量应该像“地址”或“城市”。在

{
  "address":[
    "test1"
  ],
  "city":"test2",
  "country":"test3",
  "postal_code":"test4",
  "state":"test5"
}

不言而喻,更好的解决方案是在源代码处修复损坏的数据。但是如果不能这样做,可以尝试用一个简单的regex来解决这个问题。很简单,就像“如果你把更复杂的东西扔到它身上,就会失败”,但作为一个快速而肮脏的解决方案,这就足够了:

import re
import json
with open("almost.json") as infile:
    jstring = infile.read()
data = json.loads(re.sub(r"(\w+):", r'"\1":', jstring))

json标准需要带有""的密钥,因此不能用json模块解码数据。 但是,您可以使用demjson(pip install damson)来完成。在

demjson.decode(data)

相关问题 更多 >