Python无效的JSON格式如何par

用户

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

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

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

^{pr2}$

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

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

提前谢谢你


已被浏览了1020次
更新日期: 2020-10-28 18:48:10
3 个回答
fefe Tyson

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

{
  "address":[
    "test1"
  ],
  "city":"test2",
  "country":"test3",
  "postal_code":"test4",
  "state":"test5"
}
评论 - 2020年8月26日 20:37
fefe Tyson

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

demjson.decode(data)

评论 - 2020年8月26日 20:37
fefe Tyson

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

import re
import json
with open("almost.json") as infile:
    jstring = infile.read()
data = json.loads(re.sub(r"(\w+):", r'"\1":', jstring))
评论 - 2020年8月26日 20:37

最新Python问答

推荐Python问答