如何使用Python打印嵌套JSON中的extension_type字段?
解决Python访问嵌套JSON中extension_type的问题
你现在的代码遍历my_json['objects'][0]['extensions']时,默认只会拿到字典的键(也就是那个长字符串extension-definition--ea279b3e-5c71-4632-ac08-831c66a786ba),而不是键对应的值(包含extension_type的字典)。要拿到extension_type,可以按下面两种方式处理:
情况1:extension的key固定不变
如果这个长字符串key是固定的,直接通过键层层访问即可:
import json, requests url = "myUrl" payload = {} headers = { 'Authorization': 'Auth', 'Cookie': 'biscuit' } response = requests.request("GET", url, headers=headers, data=payload) my_json = json.loads(response.text) # 直接访问指定key下的extension_type extension_type = my_json['objects'][0]['extensions']['extension-definition--ea279b3e-5c71-4632-ac08-831c66a786ba']['extension_type'] print(extension_type)
情况2:extensions里可能有多个未知key
如果extensions里可能有多个类似的子字典,不确定key是什么,就用.items()遍历键值对:
import json, requests url = "myUrl" payload = {} headers = { 'Authorization': 'Auth', 'Cookie': 'biscuit' } response = requests.request("GET", url, headers=headers, data=payload) my_json = json.loads(response.text) # 遍历extensions的所有键值对 for ext_key, ext_value in my_json['objects'][0]['extensions'].items(): # 从每个子字典中取出extension_type print(ext_value['extension_type'])
这样就能输出你要的purple了。
内容的提问来源于stack exchange,提问作者Dragon
相关产品推荐
相关产品推荐

