我目前正致力于从json中提取字段,然后再使用它。因此我有面部参数,我想存储每个字段的值。我试图从面部的JSON中获取Gender值: JSON如下:
lock(object) {}
我想从上面的json中提取'女性'。 为此,我使用了这个:
{
"face": [
{
"attribute": {
"age": {
"range": 5,
"value": 24
},
"gender": {
"confidence": 99.9999,
"value": "Female"
},
"glass": {
"confidence": 99.4157,
"value": "None"
},
"pose": {
"pitch_angle": {
"value": 0.000001
},
"roll_angle": {
"value": 0.650337
},
"yaw_angle": {
"value": -0.42409
}
},
"race": {
"confidence": 98.058,
"value": "Asian"
},
"smiling": {
"value": 3.78394
}
},
"face_id": "42245f24335ad21ea7c54f2db96a09b3",
"position": {
"center": {
"x": 50.121951,
"y": 35.97561
},
"eye_left": {
"x": 43.465122,
"y": 30.670488
},
"eye_right": {
"x": 56.80878,
"y": 30.821951
},
"height": 27.560976,
"mouth_left": {
"x": 45.649512,
"y": 45.041707
},
"mouth_right": {
"x": 55.134878,
"y": 44.858049
},
"nose": {
"x": 50.183415,
"y": 38.410732
},
"width": 27.560976
},
"tag": ""
}
],
"img_height": 410,
"img_id": "1e3007cb3d6cfbaed3a1b4135524ed25",
"img_width": 410,
"session_id": "76ec7f99a471418fa8862a2138cc589d",
"url": "http://www.faceplusplus.com/wp-content/themes/faceplusplus/assets/img/demo/1.jpg?v=2"
}
我的代码在哪里不正确?
答案 0 :(得分:2)
根据您的json示例,gender
位于attribute
内,因此您需要将其作为 -
gender = soup['face'][0]['attribute']['gender']['value']
此外,似乎values
是回读的json(字典),因此您可能希望使用values
访问它,但我不确定您要实现的目标,所以我不能肯定地说。
答案 1 :(得分:0)
最后,我得到了答案,这是完美的。
with open('data.json') as da:
data = json.loads(json.load(da))
print data['face'][0]['attribute']['gender']['value']
答案 2 :(得分:0)
您可以使用某些库,例如 objectpath ,它可以让您轻松搜索JSON。 只需导入库并构建对象树,然后键入要搜索的单词。
<强>导入:强>
import json
import objectpath
构建搜索树:
gender_tree = objectpath.Tree(values['face'])
输入搜索字词
gender_tuple = tuple(actions_tree.execute('$..gender'))
现在,您可以根据所需的值处理gender_tuple
。
在这里,您要搜索的字词是“性别”,请将其替换为您的合适字词,以便日后搜索。