如何使用Jquery从Json获取值

如何使用Jquery从Json获取值,json,jquery-ui,jquery,Json,Jquery Ui,Jquery,嗨,我是Jquery新手,不知道如何使用json数据。我有一个Json作为响应。我的成功功能是 success: function(resp) { var x = JSON.stringify(resp); alert(x); } 警报正在生成以下JSON {“xyz”:{“abc”:[{“操作”:“失败”,“结果”:“xxx”},{“操作”:“通过”,“结果”:“yyy”}]} 我只想要行动价值。如何从x变量中获取该值,以及如何在HTML中利用该值。提前感谢。当您使用JSO

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

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

}
警报正在生成以下JSON

{“xyz”:{“abc”:[{“操作”:“失败”,“结果”:“xxx”},{“操作”:“通过”,“结果”:“yyy”}]}


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

当您使用
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
}

如果它以字符串的形式返回(我现在说不出来),那么当您使用
JSON.stringify()
时,您可以使用将它转换为对象(只要它是有效的JSON),将它转换为一个对象来访问数据。试试这个:

success: function(resp) {
    alert(resp.xyz.abc[0].action); 
    var x = resp.xyz.abc[0].action  // to use the value in html later on
}
如果它以字符串的形式返回(我现在不知道),您可以使用

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

success: function(resp)
{
    var x = $.parseJSON(resp);
    $.each(x.xyz.abc, function(index, element){
        alert('action:' + element.action + ', result:' + element.resut)
    });
}
或者,您可以按$.each循环遍历每个数组

success: function(resp)
{
    var x = $.parseJSON(resp);
    $.each(x.xyz.abc, function(index, element){
        alert('action:' + element.action + ', result:' + element.resut)
    });
}

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


当只有一个可用的JSON(成功或失败)时,获得一个像您这样结构化数据的JSON,并在其中编码两个可能的答案有什么意义呢。从我的角度来看,行动不是失败就是成功,正如你在上面的好答案中看到的那样,阅读它会给你你想要的


当只有一个可用的JSON(成功或失败)时,获得一个JSON,它的数据结构与您一样,其中编码了两个可能的答案。

我的成功函数在ajax中,因此在您给出代码后,我无法获得预期的输出。你的代码是正确的,但是你能告诉我在$.ajax函数中是否有这种成功的方法吗?你的代码是否有效,如果没有,还有其他方法吗way@Sau你试过调试吗?你真的进入了成功的功能吗?什么是
alert
ed?尝试console.log'ing
resp
并查看返回的内容。@Sau很好,这表示您正在获取对象。尝试使用console.log记录该对象并查看其内部的内容。在chrome中,你可以点击它旁边的箭头(在你的控制台中)来展开它,并准确地看到它所包含的内容。我得到类似对象{xyz:object}的东西。如果我展开它,我得到的是xyz:object,展开它abc:array[2]展开它会得到0:object 1:object 2:object,进一步展开这个对象会得到0:object,结果是:“你失败了“和操作:失败等等。它也在0:Object下给出了一些proto:Object,如果我扩展这个proto:Object,它将在那里产生一系列函数,这些函数是可以扩展的。我的成功函数在ajax中,所以在您给出代码之后,我无法获得预期的输出。你的代码是正确的,但是你能告诉我在$.ajax函数中是否有这种成功的方法吗?你的代码是否有效,如果没有,还有其他方法吗way@Sau你试过调试吗?你真的进入了成功的功能吗?什么是
alert
ed?尝试console.log'ing
resp
并查看返回的内容。@Sau很好,这表示您正在获取对象。尝试使用console.log记录该对象并查看其内部的内容。在chrome中,你可以点击它旁边的箭头(在你的控制台中)来展开它,并准确地看到它所包含的内容。我得到类似对象{xyz:object}的东西。如果我展开它,我得到的是xyz:object,展开它abc:array[2]展开它会得到0:object 1:object 2:object,进一步展开这个对象会得到0:object,结果是:“你失败了“和操作:失败等等。它还在0:Object下提供一些proto:Object,如果我扩展这个proto:Object,它将产生一系列函数,这些函数是可以扩展的。我在$.ajax函数中有success函数,其中我提到了GET类型,数据类型为JSON、用户名和密码以进行身份验证为什么我没有获得预期的输出我可以在$.ajax方法中使用$.parseJSON如果是,那么为什么它在我的情况下不起作用。您能进一步指导我吗?$.ajax函数中有success函数,其中我提到类型为GET、数据类型为JSON以及用户名和密码来进行身份验证。为什么我没有得到预期的输出?我可以在$.ajax方法中使用$.parseJSON吗?如果是,那么为什么它在我的情况下不起作用。你能进一步指导我吗