Skip to main content
 首页 » 编程设计

Python for循环json.loads错误字符串索引必须是整数

2025年05月04日17kerrycode

我一直在努力理解以下 Json 解析问题的原因,我尝试了很多组合来访问“val”项目值,但我遇到了障碍。

我已经在“相似的”Json 样式数据上成功使用了下面的代码,但是我不具备对下面的数据制作这种方法的知识。

感激地接受了所有建议。

result = xmltodict.parse(my_read) 
result = result['REPORT']['REPORT_BODY'] 
result =json.dumps(result, indent=1) 
 
    print(result) 
 
    { 
 "PAGE": [ 
     { 
      "D-ROW": [ 
       { 
        "@num": "1", 
        "type": "wew", 
        "val": ".000" 
       }, 
       { 
        "@num": "2", 
        "type": "wew", 
        "val": ".000" 
       } 
      ] 
     }, 
     { 
      "D-ROW": [ 
       { 
        "@num": "26", 
        "type": "wew", 
        "val": ".000" 
       }, 
       { 
        "@num": "27", 
        "type": "wew", 
        "val": ".000" 
       }, 
       { 
        "@num": "28", 
        "type": "wew", 
        "val": ".000" 
    } 
   ] 
  } 
 ] 
} 
 
for item in json.loads(json_data): 
    print(item['PAGE']['D-ROW']['val'] 

错误字符串索引必须是整数

请您参考如下方法:

item['PAGE'] 包含一个列表,因此您不能使用 'D-ROW' 对其进行索引。如果您的 json 加载数据位于变量 data 中,您可以使用:

for page in data['PAGE']: 
    for drow in page['D-ROW']: 
        print drow['val']