从没有任何根对象的json读取数组

时间:2018-01-26 20:43:20

标签: python

我正在使用python 2.x.我正在从文件中读取以下json

[{“id”:1,“name”:“a”},{“id”:2,“name”:“b”}]

我想将这个json转换为一个名为tuple的数组。

这是可能的还是我必须有一个包含数组的根元素?

我到目前为止编写的代码

from collections import namedtuple
import json
a = json.loads('''[{"id":1, "name":"a"}, {"id":2,"name":"b"}]''')
tuple = namedtuple('id', 'name')
mylist = [tuple(**k) for k in a]

我不经常写python所以如果这是一个糟糕的问题,请耐心等待我

2 个答案:

答案 0 :(得分:3)

命名元组需要传递给它们的类名,并且要求属性在一个字符串中。例如:

from collections  import namedtuple
import json
a = json.loads('''[{"id": 1, "name": "a"}, {"id": 2, "name": "b"}]''')
mytuple = namedtuple("mynamedtuple", "id, name")
mylist = [mytuple(**k) for k in a]

答案 1 :(得分:0)

我曾经以一种简单的方式做到这一点:

import json        
json_file = "id.json"

objects = json.load(open(json_file))

annotations = objects

for annot in annotations:
    label = annot['class_name']
    print(label)