Django JSONDecodeError异常值:预期值:第1行第1列(字符0)

Django JSONDecodeError异常值:预期值:第1行第1列(字符0),django,django-models,django-views,django-forms,django-templates,Django,Django Models,Django Views,Django Forms,Django Templates,我正在开发一个Django应用程序,我试图根据API的响应重定向,但我似乎找不到一种方法来获取响应的值 以下是回应: { "Body": { "stkCallback": { "MerchantRequestID": "24915-30681242-1", "CheckoutRequestID": "ws_CO_150220211305438433

我正在开发一个Django应用程序,我试图根据API的响应重定向,但我似乎找不到一种方法来获取响应的值

以下是回应:

{
"Body": {
    "stkCallback": {
        "MerchantRequestID": "24915-30681242-1",
        "CheckoutRequestID": "ws_CO_150220211305438433",
        "ResultCode": 0,
        "ResultDesc": "The service request is processed successfully.",
        "CallbackMetadata": {
            "Item": [
                {
                    "Name": "Amount",
                    "Value": 1.00
                },
                {
                    "Name": "MpesaReceiptNumber",
                    "Value": ""
                },
                {
                    "Name": "TransactionDate",
                    "Value": 20210215130604
                },
                {
                    "Name": "PhoneNumber",
                    "Value": 
                }
            ]
        }
    }
}
找到了获取请求的方法,但它没有返回为
dict
,而是返回一个
str
,即使我使用了
json.loads()

获取
结果\u code
会抛出一个错误
字符串索引必须是整数

def callback(request):

    callback = json.dumps(request.body.decode('utf-8'))

    body_data = json.loads(callback)

    print(type(body_data)) #returns 'str'

    result_code = body_data["Body"]["stkCallback"]["ResultCode"]

    print(result_code)  #returns string indices must be integers

return render(request, 'callback.html')

@josphat Gitogo-不应该是
resultcode=response['Body']['stkCallback']['resultcode']

try:
    response = json.loads(request.body).decode('utf-8')
    resultcode = response['Body']['stkCallback']['ResultCode']
except ValueError as v:  # includes simplejson.decoder.JSONDecodeError
   #log the exception or print it
假设回应=

{
"Body": {
    "stkCallback": {
        "MerchantRequestID": "24915-30681242-1",
        "CheckoutRequestID": "ws_CO_150220211305438433",
        "ResultCode": 0,
        "ResultDesc": "The service request is processed successfully.",
        "CallbackMetadata": {
            "Item": [
                {
                    "Name": "Amount",
                    "Value": 1.00
                },
                {
                    "Name": "MpesaReceiptNumber",
                    "Value": ""
                },
                {
                    "Name": "TransactionDate",
                    "Value": 20210215130604
                },
                {
                    "Name": "PhoneNumber",
                    "Value":
                }
            ]
        }
    }
}
}
另外,我看到您的一个Value属性没有值

 {
                    "Name": "PhoneNumber",
                    "Value":
                }

请共享您的完整回溯。确保您从API调用返回JSON,并且此响应无效。JSON如何使用python将其转换为JSON?@JosphatGitogo-取决于您接收的数据类型。检查API发送给您的解决方案的数据类型,但它仍然抛出此错误
jsondecoderror位于/api/v1/online/lipa/callback/
异常类型:jsondecoderror期望值:第1行第1列(char 0)
@JosphatGitogo-检查我的更新代码