Javascript 如何在多级数组中选择对象

Javascript 如何在多级数组中选择对象,javascript,json,api,Javascript,Json,Api,我试图在标记和属性下获得微笑数组。我尝试了搜索和简单选择。每次尝试都会导致一个未定义的变量。如果你能解释如何选择微笑阵列,那将是非常棒的 { "status": "success", "photos": [{ "url": "http://tinyurl.com/673cksr", "pid": "F@019cbdb135cff0880096136c4a0b9bad_3547b9aba738e",

我试图在标记和属性下获得微笑数组。我尝试了搜索和简单选择。每次尝试都会导致一个未定义的变量。如果你能解释如何选择微笑阵列,那将是非常棒的

   {
        "status": "success",
        "photos": [{
            "url": "http://tinyurl.com/673cksr",
            "pid": "F@019cbdb135cff0880096136c4a0b9bad_3547b9aba738e",
            "width": 375,
            "height": 406,
            "tags": [{
                "uids": [],
                "label": null,
                "confirmed": false,
                "manual": false,
                "width": 30.67,
                "height": 28.33,
                "yaw": -16,
                "roll": -1,
                "pitch": 0,
                "attributes": {
                    "face": {
                        "value": "true",
                        "confidence": 84
                    },
                    "smiling": {
                        "value": "false",
                        "confidence": 46
                    }
                },
                "points": null,
                "similarities": null,
                "tid": "TEMP_F@019cbdb135cff0880096136c00d500a7_3547b9aba738e_56.80_41.13_0_1",
                "recognizable": true,
                "center": {
                    "x": 56.8,
                    "y": 41.13
                },
                "eye_left": {
                    "x": 66.67,
                    "y": 35.71,
                    "confidence": 51,
                    "id": 449
                },
                "eye_right": {
                    "x": 50.67,
                    "y": 35.47,
                    "confidence": 57,
                    "id": 450
                },
                "mouth_center": {
                    "x": 60.8,
                    "y": 51.23,
                    "confidence": 53,
                    "id": 615
                },
                "nose": {
                    "x": 62.4,
                    "y": 42.61,
                    "confidence": 54,
                    "id": 403
                }
            }]
        }],
        "usage": {
            "used": 21,
            "remaining": 79,
            "limit": 100,
            "reset_time": 1390111833,
            "reset_time_text": "Sun, 19 January 2014 06:10:33 +0000"
        },
        "operation_id": "edc2f994cd8c4f45b3bc5632fdb27824"
    }
obj.photos[0].标记[0].属性.s
最好的方法是循环遍历标记,而不是在其中硬编码0

obj.photos.forEach(函数(照片){
photo.tags.forEach(函数(标记){
tag.attributes.smilling;//在这里
});
});
obj.photos[0]。标签[0]。属性。微笑
最好的方法是循环遍历标记,而不是在其中硬编码0

obj.photos.forEach(函数(照片){
photo.tags.forEach(函数(标记){
tag.attributes.smilling;//在这里
});
});

此特定代码将聚合给定对象中的所有
微笑
属性,并将其作为数组返回

  • 函数将从每个标记中获取
    微笑
    属性

  • 函数将展平所有属性,并为每张照片返回一个数组

  • 函数将收集所有照片的所有属性,并将结果累积到
    result
    中,并在最后返回


输出

[ { value: 'false', confidence: 46 } ]

此特定代码将聚合给定对象中的所有
smilling
属性,并将其作为数组返回

  • 函数将从每个标记中获取
    微笑
    属性

  • 函数将展平所有属性,并为每张照片返回一个数组

  • 函数将收集所有照片的所有属性,并将结果累积到
    result
    中,并在最后返回


输出

[ { value: 'false', confidence: 46 } ]

这有点棘手,因为您的JSON对象是对象和数组的混合体,但下面是如何获得“微笑”对象(它是一个对象,因为JavaScript中没有关联数组):

如果你想用它做点什么:

var some_var = smiling_object["value"];
var some_other_var = smiling_object["confidence"];

alert("The combined string is " + some_var + " and " + some_other_var);

这有点棘手,因为您的JSON对象是对象和数组的混合体,但下面是如何获得“微笑”对象(它是一个对象,因为JavaScript中没有关联数组):

如果你想用它做点什么:

var some_var = smiling_object["value"];
var some_other_var = smiling_object["confidence"];

alert("The combined string is " + some_var + " and " + some_other_var);

微笑
是一个对象而不是数组对象。我的错误,编辑标题以反映这一点。
微笑
是一个对象而不是数组对象。我的错误,编辑标题以反映这一点。
var some_var = smiling_object["value"];
var some_other_var = smiling_object["confidence"];

alert("The combined string is " + some_var + " and " + some_other_var);