python提取json里面多个相同key的值

怎么提取出里面的所有DetectedText下的值啊?

{"TextDetections": [{"DetectedText": "参考合向: WY.J20190505金额: 12004元", "Confidence": 85, "Polygon": [{"X": 7, "Y": 16}, {"X": 190, "Y": 16}, {"X": 190, "Y": 28}, {"X": 7, "Y": 28}], "AdvancedInfo": "{\"Parag\":{\"ParagNo\":1}}"}, {"DetectedText": "发票须按如下要求开段:", "Confidence": 91, "Polygon": [{"X": 7, "Y": 46}, {"X": 106, "Y": 46}, {"X": 106, "Y": 56}, {"X": 7, "Y": 56}], "AdvancedInfo": "{\"Parag\":{\"ParagNo\":1}}"}, {"DetectedText": "品名:门但五金配性", "Confidence": 85, "Polygon": [{"X": 7, "Y": 60}, {"X": 95, "Y": 60}, {"X": 95, "Y": 71}, {"X": 7, "Y": 71}], "AdvancedInfo": "{\"Parag\":{\"ParagNo\":2}}"}, {"DetectedText": "数量: 460千克", "Confidence": 82, "Polygon": [{"X": 7, "Y": 74}, {"X": 70, "Y": 74}, {"X": 70, "Y": 85}, {"X": 7, "Y": 85}], "AdvancedInfo": "{\"Parag\":{\"ParagNo\":3}}"}, {"DetectedText": "医注: WY.J201 90505", "Confidence": 81, "Polygon": [{"X": 8, "Y": 88}, {"X": 98, "Y": 88}, {"X": 98, "Y": 99}, {"X": 8, "Y": 99}], "AdvancedInfo": "{\"Parag\":{\"ParagNo\":4}}"}], "Language": "zh", "RequestId": "d8a7a0cb-1ae6-40fa-9a90-6bdcc27bea68"}

1、首先我们要导入json包,新建一个对象。

2、接着直接调用json.dumps将对象转化为json格式,如下图所示,这是比较常用的。

3、我们可以输出一下转化以后的格式,如果显示是str则代表是json格式。

4、而将json格式转化为对象也是比较常用的,这就用到load函数了。

5、接下来大家还需要知道的是json模块所在的位置,就是安装目录的lib模块下。

6、最后你可以打开json文件夹,看一下里面其他的一些功能函数,都是从这里出来的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2019-07-18

先遍历字典,得到key和值:

然后看到DetectedText下的值都在key=TextDetections的值里面,把他提出来保存为列表d1

遍历列表,得到多个还有key=DetectedText的字典,把key=DetectedText的值提出来保存到列表DetectedText_value里面,下面是代码:

得到结果:['参考合向: WY.J20190505金额: 12004元', '发票须按如下要求开段:', '品名:门但五金配性', '数量: 460千克', '医注: WY.J201 90505']

本回答被网友采纳
第2个回答  2019-07-18

第3个回答  2019-07-18
注意到第一个"TextDetections"是个list,所以你可以用for循环来读取它:
for item in dict["TextDetections"]: # 每一个item又是一个dict
print(item["TextDetections"]) # 这就读取到了。本回答被提问者采纳
相似回答