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

Python 使用数组中的变量创建JSON对象,python,arrays,json,python-3.x,for-loop,Python,Arrays,Json,Python 3.x,For Loop,我想用数组创建一个JSON对象,但我似乎无法解决这个问题。我遇到的问题是,它只将最后一个索引值分配给我的变量。有人能告诉我如何将循环中生成的所有内容分配给一个变量吗 。。。因此,我能够通过json对象循环数组,但在细节方面遇到了问题 这是我的密码: lineitems = [] for q in ItemDetails: myItemName = q[0] myQuantity = q[1] myUnitAmount = float(q[2]) myItemCo

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

。。。因此,我能够通过json对象循环数组,但在细节方面遇到了问题

这是我的密码:

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})
这给了我:

"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
  }
]....]
但我想得到:。。。这重要吗?我是个新手

  "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
  }....
]

您应该将其附加到列表中:

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))

您应该将其附加到列表中:

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))

如果我正确地理解了这个问题,我想您可能只需要在print语句上加上制表符,这样它就可以在for循环的每个迭代中执行。如果我正确地理解了这个问题,我想您可能只需要在print语句上加上制表符,这样它就可以在for循环的每个迭代中执行。谢谢,这非常有用!谢谢,这非常有帮助!