Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何迭代Python中包含字典列表的json对象?_Python - Fatal编程技术网

如何迭代Python中包含字典列表的json对象?

如何迭代Python中包含字典列表的json对象?,python,Python,我如何迭代此操作以获取MerchantRequestID、CheckoutRequestID、ResultCode、ResultDesc以及PhoneNumber实例值的“项”列表中的所有值。 我在用户付款后从callBackURl获取此数据 "Body":{ "stkCallback":{ "MerchantRequestID":"19465-780693-1",

我如何迭代此操作以获取MerchantRequestID、CheckoutRequestID、ResultCode、ResultDesc以及PhoneNumber实例值的“项”列表中的所有值。 我在用户付款后从callBackURl获取此数据

    "Body":{
      "stkCallback":{
        "MerchantRequestID":"19465-780693-1",
        "CheckoutRequestID":"ws_CO_27072017154747416",
        "ResultCode":0,
        "ResultDesc":"The service request is processed successfully.",
        "CallbackMetadata":{
          "Item":[
            {
              "Name":"Amount",
              "Value":1
            },
            {
              "Name":"MpesaReceiptNumber",
              "Value":"LGR7OWQX0R"
            },
            {
              "Name":"Balance"
            },
            {
              "Name":"TransactionDate",
              "Value":20170727154800
            },
            {
              "Name":"PhoneNumber",
              "Value":254721566839
            }
          ]
        }
      }
    }
  }```

I want to get MerchantRequestID, CheckoutRequestID, ResultCode, ResultDesc, and all the value in the list  
'item' then store them in the db.
```new_user = MpesaResponses(MerchantRequestID=data[0]['Body']['stkCallback']['MerchantRequestID'],
                             CheckoutRequestID=data[0]['Body']['stkCallback']['CheckoutRequestID'],
                             ResultCode=data[0]['Body']['stkCallback']['ResultCode'],
                             ResultDesc=data[0]['Body']['stkCallback']['ResultDesc'],
                              Amount=data[0]['Body']['stkCallback']['CallbackMetadata']['Item'][0] 
                              ['value'],
                              MpesaReceiptNumber=data[0]['Body']['stkCallback']['CallbackMetadata'] 
                              ['Item'][1]['value'],
                              TransactionDate=data[0]['Body']['stkCallback']['CallbackMetadata']['Item'] 
                              [3]['value'],
                              PhoneNumber=data[0]['Body']['stkCallback']['CallbackMetadata']['Item'][4] 
                          ['value'])
    db.session.add(new_user)
    db.session.commit()```
This is what I had tried.

如果数据只是从
“Body”
开始的字典,而不是包含字典的列表,则只需从每个变量中删除第一个
[0]
,然后检查
值的拼写,如下所示:

MerchantRequestID=data['Body']['stkCallback']['MerchantRequestID']
CheckoutRequestID=data['Body']['stkCallback']['CheckoutRequestID']
ResultCode=data['Body']['stkCallback']['ResultCode']
ResultDesc=data['Body']['stkCallback']['ResultDesc']
Amount=data['Body']['stkCallback']['CallbackMetadata']['Item'][0]['Value']
MpesaReceiptNumber=data['Body']['stkCallback']['CallbackMetadata']['Item'][1]['Value']
TransactionDate=data['Body']['stkCallback']['CallbackMetadata']['Item'][3]['Value']
PhoneNumber=data['Body']['stkCallback']['CallbackMetadata']['Item'][4]['Value']

谢谢,我的错误是值而不是值,也是第一个[0]。我把它当作一本字典