0

我正在尝试用几个数组和一些键:值对来解析 JSON 字符串。我现在可以从一个数组中获取值,但我也想从另一个数组中获取值。数组具有相同的键,但我不知道如何从第二个数组中获取数据。

我的 jQuery 脚本看起来像这样

$("a").click(function () {
    var page = $(this).text();
    console.log(page);
    $.post("/services/gallery/getimage", {"path[]":[<%=path %>], "page": page}, function(data){
        var length = data.previews.length;
        console.log(length);
        var html = "";
        for(var i = 0; i < length; i++){
            $.each(data.previews[i], function (index, value) {
                html+= "<a href=\""+value+"\"><img src=\""+value+"\" alt=\""+index+"\" /></a>";
                console.log("index: "+index);
                console.log("value: "+value);
                console.log(data.heights[i].index);
            });
        }

        $("#gallery").html(html);
    });
});

我也尝试了一些修改,console.log(data.heights[i].index);但仍然没有可用的结果。

控制台输出是

1
15

index: index1
value: /some/path
undefined

index: index2
value: /some/paht
undefined 

JSON字符串看起来像这样

{
    "previews": [
        {
            "index1": "/some/path"
        },
        {
            "index2": "/some/path"
        }
    ],
    "heights": [
        {
            "index1": "67"
        },
        {
            "index2": "103"
        }
    ]
}

我将拥有更多具有相同索引的数组,因此如果可以将其解析为一个,那就太好了。谢谢你的帮助

编辑:属性名称是动态的而不是静态的。它可以是任何东西,而不仅仅是 index1、index2、...

4

1 回答 1

1

当您应该.index使用. 所以这一行:heights[index]

console.log(data.heights[i].index);

变成:

console.log(data.heights[i][index]);
于 2013-10-04T06:17:22.947 回答