我怎样才能解决这个问题?我无法访问收到的数据?

时间:2019-01-27 13:17:29

标签: javascript

我是javascript新手,我做了一个post方法,但是我无法访问以下代码

{"responses":[{"labelAnnotations":[{"mid":"/m/03q69","description":"Hair","score":0.98823804,"topicality":0.98823804},{"mid":"/m/0dzct","description":"Face","score":0.9831542,"topicality":0.9831542},{"mid":"/m/025kyy","description":"Forehead","score":0.95435387,"topicality":0.95435387},{"mid":"/m/0f9swq","description":"Chin","score":0.9088191,"topicality":0.9088191},{"mid":"/m/0ds4x","description":"Hairstyle","score":0.90202826,"topicality":0.90202826},{"mid":"/m/04hgtk","description":"Head","score":0.9014164,"topicality":0.9014164},{"mid":"/m/027n3_","description":"Eyebrow","score":0.89324903,"topicality":0.89324903},{"mid":"/m/0ds5b","description":"Facial hair","score":0.87170535,"topicality":0.87170535},{"mid":"/m/037p5b","description":"Cheek","score":0.8612985,"topicality":0.8612985},{"mid":"/m/0k0pj","description":"Nose","score":0.8419632,"topicality":0.8419632}]}]}

我做到了

for(let item of data_recieved){
  console.log(item.response.decription)
}

我遇到错误,我正在尝试进行解密,以便可以使用它

2 个答案:

答案 0 :(得分:1)

您的数据不仅仅是数组。 data_recieved具有名为responses的属性,该属性是一个数组,其第一项具有名为labelAnnotations的属性,该属性是一个数组,其项具有所需的值。

所以会是这样:

let data_recieved = {"responses":[{"labelAnnotations":[{"mid":"/m/03q69","description":"Hair","score":0.98823804,"topicality":0.98823804},{"mid":"/m/0dzct","description":"Face","score":0.9831542,"topicality":0.9831542},{"mid":"/m/025kyy","description":"Forehead","score":0.95435387,"topicality":0.95435387},{"mid":"/m/0f9swq","description":"Chin","score":0.9088191,"topicality":0.9088191},{"mid":"/m/0ds4x","description":"Hairstyle","score":0.90202826,"topicality":0.90202826},{"mid":"/m/04hgtk","description":"Head","score":0.9014164,"topicality":0.9014164},{"mid":"/m/027n3_","description":"Eyebrow","score":0.89324903,"topicality":0.89324903},{"mid":"/m/0ds5b","description":"Facial hair","score":0.87170535,"topicality":0.87170535},{"mid":"/m/037p5b","description":"Cheek","score":0.8612985,"topicality":0.8612985},{"mid":"/m/0k0pj","description":"Nose","score":0.8419632,"topicality":0.8419632}]}]};

if (data_recieved.responses.length > 0) {
    for (let item of data_recieved.responses[0].labelAnnotations) {
        console.log(item.description);
    }
}

注意:您在description语句中还误拼了console.log

答案 1 :(得分:0)

您可以使用forEach循环来执行此操作。第一个forEach循环将访问与responses对应的数组,第二个forEach将与与描述所在的labelAnnotations数组关联的数组对应。

var a={"responses":[{"labelAnnotations":[{"mid":"/m/03q69","description":"Hair","score":0.98823804,"topicality":0.98823804},{"mid":"/m/0dzct","description":"Face","score":0.9831542,"topicality":0.9831542},{"mid":"/m/025kyy","description":"Forehead","score":0.95435387,"topicality":0.95435387},{"mid":"/m/0f9swq","description":"Chin","score":0.9088191,"topicality":0.9088191},{"mid":"/m/0ds4x","description":"Hairstyle","score":0.90202826,"topicality":0.90202826},{"mid":"/m/04hgtk","description":"Head","score":0.9014164,"topicality":0.9014164},{"mid":"/m/027n3_","description":"Eyebrow","score":0.89324903,"topicality":0.89324903},{"mid":"/m/0ds5b","description":"Facial hair","score":0.87170535,"topicality":0.87170535},{"mid":"/m/037p5b","description":"Cheek","score":0.8612985,"topicality":0.8612985},{"mid":"/m/0k0pj","description":"Nose","score":0.8419632,"topicality":0.8419632}]}]}

a.responses.forEach((e)=>e.labelAnnotations.forEach((x)=>console.log(x.description)))