如何用 ijson 和 python 解析 json
Posted
技术标签:
【中文标题】如何用 ijson 和 python 解析 json【英文标题】:How to parse json with ijson and python 【发布时间】:2013-11-28 13:40:53 【问题描述】:我将 JSON 数据作为字典数组作为请求负载提供。
[
"Field1": 1, "Feld2": "5" ,
"Field1": 3, "Feld2": "6"
]
我尝试了ijson.items(f, '')
,它将整个 JSON 对象作为一个项目生成。有没有一种方法可以使用 ijson 逐个迭代数组中的项目?
这是我尝试将 JSON 作为单个对象生成的示例代码。
f = open("metadatam1.json")
objs = ijson.items(f, '')
for o in objs:
print str(o) + "\n"
['Feld2': u'5', 'Field1': 1, 'Feld2': u'6', 'Field1': 3]
【问题讨论】:
请添加您的代码,展示它如何“将整个 json 作为一个项目” 【参考方案1】:我对@987654321@ 不是很熟悉,但是阅读它的一些代码后,看起来像调用items
并带有"item"
前缀应该可以获取数组的项目,而不是***对象:
for item in ijson.items(f, "item"):
# do stuff with the item dict
【讨论】:
这只是吐出以下错误:TypeError: can't concat bytes to str
@JeremyCraigMartinez:仅凭异常文本,我无法猜测该异常来自何处。我建议问你自己的问题,包括你的代码和完整的回溯。
抱歉,请忽略该评论。我开始只是用谷歌搜索它和 ijson 并很快找到了我想要的东西
这让我发疯了,这回答了“如何在 ijson 中迭代 JSON 数组”——这并不是一目了然,哈哈(相对于生成一个大列表项)跨度>
以上是关于如何用 ijson 和 python 解析 json的主要内容,如果未能解决你的问题,请参考以下文章