2024-05-01 21:50:56 发布
网友
我正在获取以下JSON格式的数据:
{ address:[ "test1" ], city:"test2", country:"test3", postal_code:"test4", state:"test5" }
当我试图通过以下方式解析它时:
我收到一个错误:要求属性名用双引号括起来
有没有一种方法可以在python中解析它?在
提前谢谢你
你的变量应该像“地址”或“城市”。在
{ "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
demjson.decode(data)
你的变量应该像“地址”或“城市”。在
不言而喻,更好的解决方案是在源代码处修复损坏的数据。但是如果不能这样做,可以尝试用一个简单的regex来解决这个问题。很简单,就像“如果你把更复杂的东西扔到它身上,就会失败”,但作为一个快速而肮脏的解决方案,这就足够了:
json标准需要带有
""
的密钥,因此不能用json模块解码数据。 但是,您可以使用demjson
(pip install damson)来完成。在相关问题 更多 >
编程相关推荐