gpt4 book ai didi

python - 如何解析 json 数据 python django?

转载 作者:太空狗 更新时间:2023-10-30 02:11:40 29 4
gpt4 key购买 nike

我有 JSON 数据,我想解析它。

我使用了下面的代码:

def json_update(request):
j = urllib2.urlopen('http://ec2-72-44-51-113.compute-1.amazonaws.com:8001/get_latest_verification')
j_obj = json.load(j)
print j_obj.status
return HttpResponse(j_obj.status)

但是我得到了错误:

/json_update 处的属性错误

“列表”对象没有属性“状态”

我的 json 数据:

[{"status": "Registered", "credential": "10000323xsds", "scan_time": "Jan.15,2014, 03:30 pm", "asset_code": "cls103", "emp_id": "LS07", "location": "BLR-10", "auth_code": "DSC(Verisign", "operator": "pradeep", "id": 538}]

解析json数据的正确方式是什么。

但是当我将代码更新为:

更新代码:

def json_update(request):
j = urllib2.urlopen('http://ec2-72-44-51-113.compute-1.amazonaws.com:8001/get_latest_verification')
j_obj = json.load(j)
for jo in j_obj:
print j_obj[jo]['status']
return HttpResponse(j_obj[jo]['status'])

我遇到错误:

/json_update 处出现类型错误

列表索引必须是整数,不能是字典

最佳答案

你说你的json数据是:

[{"status": "Registered", "credential": "10000323xsds", "scan_time": "Jan.15,2014, 03:30 pm", "asset_code": "cls103", "emp_id": "LS07", "location": "BLR-10", "auth_code": "DSC(Verisign", "operator": "pradeep", "id": 538}]

这意味着当您执行 j_obj = json.load(j) 时,您的 j_obj 是一个列表。 (注意外面的 [ ])。这就是为什么当您执行 print j_obj.status 时收到错误“'list' object has no attribute 'status'”

您更新后的代码会:

for jo in j_obj: 
print j_obj[jo]['status']

这是在 Python 中使用 for _ in _ 循环的错误方法,您的做法与在 Javascript 中的做法相同。在 Python 中你可以这样写:

for jo in j_obj: 
print jo['status']

这将循环遍历外部列表中的项目(您有一个项目,它是一个字典)并打印该字典的 'status' 键。

您可以看到 for _ in _ 循环为您提供了正在循环的列表中的实际项目,而不是索引。所以在你的情况下 jo 是一个字典,这就是为什么你在尝试执行 j_obj 时得到错误 "list indices must be integers, not dict" [乔]

请看这里的教程:
https://wiki.python.org/moin/ForLoop

关于python - 如何解析 json 数据 python django?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21135033/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com