Python从指定JSON数组中提取appid对应值的实现方法
从给定JSON结构中提取appid取值的Python实现
你可以直接用Python内置的json模块完成解析,不需要安装任何第三方依赖,实现逻辑非常简单:
核心思路
- 先把JSON格式内容解析为Python原生支持的字典结构
- 定位到存储标签的
Amazon Web Services字段,它对应的值是一个字符串列表,每个字符串都遵循键:值的格式 - 遍历列表找到以
appid:开头的字符串,截取冒号后的内容就是目标值
可直接运行的代码示例
import json # 待解析的JSON内容,实际使用时可替换为从文件/接口读取的内容 raw_json = ''' { "Datadog":[ "host:i-068fee2324438213477be9a4" ], "Amazon Web Services":[ "availability-zone:us-east-1a", "aws:cloudformation:logical-id:ec2instance01", "aws:cloudformation:stack-id:arn:aws:cloudformation:us-east-1:353245", "appid:42928482474dh28424a", "name:devinstance", "region:us-east-1", "security-group:sg-022442414d8a", "security-group:sg-0691af18875ad9d0b", "security-group:sg-022442414d8a", "security-group:sg-022442414d8a" ] } ''' # 解析JSON为Python字典 parsed_data = json.loads(raw_json) appid = None # 遍历标签列表匹配appid for item in parsed_data["Amazon Web Services"]: if item.startswith("appid:"): # 只按第一个冒号分割,避免值本身包含冒号时被错误切分 appid = item.split(":", 1)[1] break print(appid)
运行结果
代码执行后输出的appid值为:
42928482474dh28424a
初学者注意点
- 如果你的JSON存储在本地文件中,不需要把内容手动复制到代码里,直接用文件读取的方式加载即可:
with open("你的json文件路径.json", "r", encoding="utf-8") as f: parsed_data = json.load(f)
- 分割字符串时传入
maxsplit=1参数是稳妥写法,就算后续appid的值里本身带冒号,也能完整提取,不会出现截断问题。
内容的提问来源于stack exchange,提问作者Spring_Reboot
相关产品推荐
相关产品推荐

