首先定义一个符合json格式字符串,即字符串首尾由{}符号包裹,内部为key:value键值对组合。如果是嵌套字典,在value内部继续使用{}符号包裹,一个三层嵌套字典的形式:{key:[{key:[{key:[],...}]},{key:[]}],...}。如下:一个key对应一个列表形式的value。
str_obj = '{"MxpiObject":[{"classVec":[{"classId":16,"className":"dog","confidence":0.93969720599999995,"headerVec":[]}],"x0":8.4936981199999995,"x1":370.58398399999999,"y0":153.65756200000001,"y1":574.28491199999996},{"classVec":[{"classId":16,"className":"dog","confidence":0.93356323200000002,"headerVec":[]}],"x0":334.45755000000003,"x1":738.55914299999995,"y0":149.46833799999999,"y1":544.36035200000003},{"classVec":[{"classId":16,"className":"dog","confidence":0.92845106099999997,"headerVec":[]}],"x0":688.83727999999996,"x1":1079.77136,"y0":234.55336,"y1":521.01190199999996}]}'
如果要提取这个字符串内部某个key对应的value,第一步是将字符串转换为字典,使用json.loads(str_obj)。
str_dic = json.loads(str_obj)
如果要获取某一层元素,使用str_dic[key][index][key]。获取“x0"元素对应value。
x0 = str_dic["MxpiObject"][0]["x0"]
print(x0)
"8.49369812"