ФИЛЬТРИРОВАНИЕ АРРЕЯ БЕЗ УЧЕТА АРРАНГЕМНТА (Python)
Я пытаюсь сохранить эти данные из обратного вызова url, но расположение постоянно меняется, как мне получить данные без использования index
{"Body":{
"stkCallback":{
"MerchantRequestID":"106225-49293961-1",
"CheckoutRequestID":"ws_CO_041120220958559137xxxxx768",
"ResultCode":0,
"ResultDesc":"The service request is processed successfully.",
"CallbackMetadata":{
"Item":[
{"Name":"Amount","Value":1.00},
{"Name":"MpesaReceiptNumber","Value":"QK438EQIOX"},
{"Name":"TransactionDate","Value":20221104095914},
{"Name":"PhoneNumber","Value":2547xxxxx178}
]
}
}
}
}
Вот что я сделал
merchant_requestID = mpesa_body["Body"]["stkCallback"]["MerchantRequestID"]
print(merchant_requestID)
checkout_requestID = mpesa_body["Body"]["stkCallback"]["CheckoutRequestID"]
print(checkout_requestID)
result_code = mpesa_body["Body"]["stkCallback"]["ResultCode"]
print(result_code)
result_desc = mpesa_body["Body"]["stkCallback"]["ResultDesc"]
print(result_desc)
amount = mpesa_body["Body"]["stkCallback"]["CallbackMetadata"]["Item"][0]["Value"]
print(amount)
mpesa_receipt_number = mpesa_body["Body"]["stkCallback"]["CallbackMetadata"]["Item"][1]["Value"]
print(mpesa_receipt_number)
transaction_date = mpesa_body["Body"]["stkCallback"]["CallbackMetadata"]["Item"][2]["Value"]
print(transaction_date)
phone_number = mpesa_body["Body"]["stkCallback"]["CallbackMetadata"]["Item"][3]["Value"]
print(phone_number)
balance = ''
У одних транзакций будет баланс, у других нет, и именно здесь возникает ошибка из-за получения данных с помощью index.
Посоветуйте, как сохранить данные, а точнее список элементов без использования индекса.