我有这个JSON数组:
[{'pk': 4L, 'model': u'logic.member', 'fields': {'profile': 3L, 'name': u'1', 'title': u'Mr', 'dob': datetime.date(1983, 1, 1), 'lastname': u'jkjk', 'redressno': u'jdsfsfkj', 'gender': u'm'}}, {'pk': 5L, 'model': u'logic.member', 'fields': {'profile': 3L, 'name': u'2', 'title': u'Mr', 'dob': datetime.date(1983, 1, 1), 'lastname': u'jkjk', 'redressno': u'jdsfsfkj', 'gender': u'm'}}]
我想仅为fields
属性创建单独的JSON数组。
我尝试的是:
memarr=[]
for index,a in data1:
print index
print a
memarr[index]=a[index].fields
它给出了错误:
too many values to unpack
请更正。
答案 0 :(得分:2)
首先,data1是一个列表,因此您无法将其解压缩为2个变量。
如果您想要索引,则必须使用enumerate
。
其次,如果密钥不存在,您无法通过索引分配给列表。您必须附加或使用其他有效的列表插入方法。
第三,a[index].fields
没有意义 - a
中没有与整数索引相关联的密钥,而fields
不是属性。
你可能正在寻找这样的东西:
memarr = []
for index, a in enumerate(data1):
memarr.append(a['fields'])
答案 1 :(得分:0)
该片段有很多问题......
反正:
memarr = [a['fields'] for a in data]