从现有的json django制作单独的数组

时间:2012-02-04 11:26:50

标签: django

我有这个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

请更正。

2 个答案:

答案 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]