使用数组中的变量创建JSON对象

时间:2015-12-28 07:57:42

标签: python arrays json python-3.x for-loop

我想用数组创建一个JSON对象,我似乎无法解决问题。我遇到的问题是它只将最后一个索引值赋给我的变量。有人可以告诉我如何将循环中生成的所有内容分配给一个变量吗?

...所以我已经能够通过我的json对象循环我的数组,但是我遇到了细节问题。

这是我的代码:

<html>

这给了我:

lineitems = []

for q in ItemDetails:
    myItemName = q[0]
    myQuantity = q[1]
    myUnitAmount = float(q[2])
    myItemCode = str(q[3])

    myjson3 = {
                'ItemCode': myItemCode,
                'Description': myItemName,
                'UnitAmount': myUnitAmount * myDiscount,
                'Quantity': myQuantity,
                'AccountCode': myAccountCode,
                'TaxType': myTaxType
            },

    lineitems.append(myjson3)

print({'LineItems': myjson3})

但我想知道:......这很重要吗?我是JSON objets的新手

"LineItems": [
[
  {
    "AccountCode": null, 
    "Description": "Banana Parfait", 
    "UnitAmount": 0.0, 
    "TaxType": null, 
    "ItemCode": "44", 
    "Quantity": 2.0
  }
], 
[
  {
    "AccountCode": null, 
    "Description": "Blackened Tofu", 
    "UnitAmount": 5.95, 
    "TaxType": null, 
    "ItemCode": "42", 
    "Quantity": 1.0
  }
]....]

1 个答案:

答案 0 :(得分:2)

您应将其附加到列表中:

import json
line_items=[]
for q in ItemDetails:
    myItemName = q[0]
    myQuantity = q[1]
    myUnitAmount = float(q[2])
    myItemCode = str(q[3])

    myjson3 = {
                'ItemCode': myItemCode,
                'Description': myItemName,
                'UnitAmount': myUnitAmount * myDiscount,
                'Quantity': myQuantity,
                'AccountCode': myAccountCode,
                'TaxType': myTaxType
            }
    line_items.append(myjson3)
print(json.dumps(line_items))