2012-02-04 36 views
0

我有這個數組JSON的:使得從現有的JSON獨立陣列的Django

[{'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'}}] 

我要讓JSON的獨立陣列只fields財產。

我想的是:

memarr=[] 

     for index,a in data1: 
      print index 
      print a 
      memarr[index]=a[index].fields 

而且它給人的錯誤:

too many values to unpack 

請更正。

回答

2

首先,data1是一個列表,所以你不能將它解壓縮成2個變量。

如果你想索引,你必須使用類似enumerate

其次,如果密鑰不存在,則不能通過索引分配給列表。您必須附加或使用另一個有效的列表插入方法。

第三,a[index].fields沒有什麼意義 - a中沒有與整數索引關聯的鍵,而fields不是屬性。

你可能尋找的是這樣的:錯片段

memarr = [] 
for index, a in enumerate(data1): 
    memarr.append(a['fields']) 
0

所以,很多事情......

總之:

memarr = [a['fields'] for a in data]