gpt4 book ai didi

python - 解析嵌套的 JSON 响应 Python

转载 作者:行者123 更新时间:2023-12-04 16:46:36 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Iterating over dictionaries using 'for' loops

(13 个回答)


3年前关闭。




我整个周末都被困在这个问题上,有人可以帮我吗?

我正在尝试解析嵌套的 JSON 响应。我似乎无法返回我需要的值,每当我尝试解析它时,我都会收到关于“字符串索引必须是整数”的错误......

我想要实现的是:对于 JSON 中的每个对象,提取 available_projects,然后从每个对象中提取 available_models。例如,第一个应该是:model001,model_20171004-090552。

JSON 响应示例:

{
"available_projects": {
"model001": {
"available_models": [
"model_20171004-090552"
],
"status": "ready"
},
"model002": {
"available_models": [
"model_20171013-143108"
],
"status": "ready"
},
"model002b": {
"available_models": [
"model_20171013-151458"
],
"status": "ready"
}
}

我的代码:
myText = requests.get('http://localhost:5000/status')
jsonresponse = json.loads(myText.text)


for element in jsonresponse[u'available_projects']:
for AM in element[u'available_models']: ## this gives me the errors..
print AM

如果我只是执行“for element in jsonresponse[u'available_projects']: print element”语句,它会正确打印available_projects 列表。我如何使用该输出深入研究 JSON?

任何帮助或代码片段都会很棒 - 谢谢!!

最佳答案

您可以使用 keys method 在字典对象中获取键,然后迭代以获取所需的值。

示例:

d = {
"available_projects": {
"model001": {
"available_models": [
"model_20171004-090552"
],
"status": "ready"
},
"model002": {
"available_models": [
"model_20171013-143108"
],
"status": "ready"
},
"model002b": {
"available_models": [
"model_20171013-151458"
],
"status": "ready"
}
}
}

for i in d["available_projects"].keys():
print i, "=" , d["available_projects"][i]['available_models'][0]

输出:
model001 = model_20171004-090552
model002b = model_20171013-151458
model002 = model_20171013-143108

关于python - 解析嵌套的 JSON 响应 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48620892/

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