2

有一个纯文本文件,如下所示:

{
   "user1":[int1, int2...intX], 
   "user2":[int1, int2...intX], 
    ... 
   "userX":[int1, int2...intX]
}

我希望能够循环浏览所有用户及其对应的整数列表;加载和解析此对象的最佳方法是什么?

最终我想做类似的事情:

for user, intlist in [FILE]:
    for item in intlist:
        [perform some function on each int]

虽然我不确定设置 IO 然后利用 json 库的正确方法。

4

3 回答 3

2

只需加载文件json.load()

import json

with open('yourfile') as infile:
    for user, intlist in json.load(infile).iteritems():
        for item in intlist:

您的 JSON 包含一个字典顶级对象,因此上述代码调用.iteritems()循环遍历该对象中的每个键值组合。

于 2013-07-15T21:11:31.990 回答
0

除了上述答案之外,您还可以尝试使用“simplejson”包,它比普通的“json”支持更多的 python 对象

于 2013-07-15T22:31:14.763 回答
0

像这样的东西:

import json
with open('file.json', 'r') as f:
    data = json.load(f)
for user, intlist in data.items():
    for item in intlist:
        do_your_stuff(item)
于 2013-07-15T21:12:22.520 回答