我正在使用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所以如果这是一个糟糕的问题,请耐心等待我
答案 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)