【发布时间】:2018-02-02 19:35:18
【问题描述】:
我有一个程序,它获取一个 LARGE JSON 文件并读取结构,抓取与键匹配的所有内容,然后将该结构中的一些项目存储到数据库中。问题是有时只有一项的时候结构是关闭的……所以如下:
"stats": {
"first": [
{
"name": "Name1",
"context": "open",
"number": "139"
},
{
"name": "Name2",
"context": "opener",
"number": "135"
}
],
"second": {
"name": "Name1",
"context": "opener",
"amount": "1.5",
"number": "-125"
},
"third": [
{
"name": "Name1",
"context": "open",
"amount": "8.5",
"number": "-110"
},
{
"name": "Name2",
"context": "open",
"amount": "9.0",
"number": "-120"
}
]
}
},
所以,您会注意到 second 只有一个条目,所以它的结构不同......我尝试了比我能想到的更多的条件......我如何检查它是否是一个条目并继续前进?这可能真的很简单,我只是不知所措,而不是最擅长 Python 数据结构(诚然)。
我正在做的是像 third[0]['name'] 这样的抓取并将其放入数据库中......所以当我尝试在第二个节点上时出现索引错误。另外 - 在某些节点中,第二个将有多个...在其他节点中不会...完全取决于记录。
【问题讨论】:
-
您可以处理
IndexError并假设这意味着您有字典而不是列表:docs.python.org/3/tutorial/errors.html -
您还应该找到生成文件的人和slap them with a trout。
-
考虑到我们要为提要付费,我提出来了。
标签: python json dictionary data-structures iteration