0

嗨,我是 Jquery 的新手,我不知道如何使用 json 数据。我有一个 Json 作为回应。我的成功功能是

success: function(resp)
{
    var x = JSON.stringify(resp);
    alert(x);

}

警报有以下 JSON

{"xyz":{"abc":[{"action":"fail","re​​sult":"xxx"},{"action":"pass","re​​sut":"yyy"}]}}

我只想要行动价值。如何从 x 变量中获取该值以及如何在 HTML 中使用该值。提前致谢。

4

3 回答 3

3

当你使用JSON.stringify()你把它变成一个字符串时,你希望它作为一个对象来访问数据。试试这个:

success: function(resp) {
    alert(resp.xyz.abc[0].action); 
    var x = resp.xyz.abc[0].action  // to use the value in html later on
}

如果它以字符串形式返回(我目前无法判断),您可以使用$.parseJSON()将其转换为对象(只要它是有效的 JSON )

于 2013-04-18T08:10:04.470 回答
0
success: function(resp)
{
    var x = $.parseJSON(resp);
    var xyz = x.xyz;
    var pass = x.xyz.abc[1].action;
}

或者您可以通过 $.each 循环遍历每个数组

success: function(resp)
{
    var x = $.parseJSON(resp);
    $.each(x.xyz.abc, function(index, element){
        alert('action:' + element.action + ', result:' + element.resut)
    });
}
于 2013-04-18T08:10:44.077 回答
0

我认为,不要个人认为,您的 JSON 对象没有很好地组织为获取和拥有的对象。从我的角度来看,行动要么失败,要么成功,阅读它,正如您在上面的好答案中看到的那样,会给您带来您想要的东西。

当只有一个可用的(成功或失败)时,获得一个像你一样结构化数据的 JSON 有什么意义,其中编码了 2 个可能的答案。

于 2013-04-18T14:02:09.463 回答