Python提取嵌套JSON中所有chain值问题求助
解决Python提取JSON中多chain字段的问题
原始JSON数据
{"data": [{"CU":"AGLD","CO": [{"chain":"ERC20"}], "fn":"Adventure Gold"}, {"CU":"ACH","CO": [{"chain":"ERC20"}, {"chain":"BEP20"}], "fn":"Alchemy"}]}
正确实现代码
import json # 解析JSON数据(如果是字符串形式) json_data = '''{"data":[{"CU":"AGLD","CO": [{"chain":"ERC20"}], "fn":"Adventure Gold"}, {"CU":"ACH","CO": [{"chain":"ERC20"}, {"chain":"BEP20"}], "fn":"Alchemy"}]}''' parsed_data = json.loads(json_data) # 输出表头 print("CU chains:") # 嵌套循环遍历提取 for asset in parsed_data["data"]: cu_code = asset["CU"] # 遍历当前CU对应的所有chain条目 for chain_item in asset["CO"]: print(f"{cu_code}\t{chain_item['chain']}")
问题原因说明
你之前的代码大概率只做了单层循环:仅遍历data数组中的每个资产项,然后直接取CO数组的最后一个元素的chain值,或者在内层循环时用同一个变量存储chain值,导致后续值覆盖了前面的。
正确的逻辑是用嵌套循环:外层循环处理每个资产的CU标识,内层循环遍历该资产CO数组里的所有chain对象,逐个输出,这样就能完整提取所有chain值。
内容的提问来源于stack exchange,提问作者Dejan Skolegi
相关产品推荐
相关产品推荐

