【问题标题】:How to get the values from the Json using Jquery如何使用 Jquery 从 Json 中获取值
【发布时间】:2013-04-18 08:08:06
【问题描述】:

您好,我是 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 中使用该值。提前致谢。

【问题讨论】:

    标签: json jquery-ui jquery


    【解决方案1】:

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

    【讨论】:

    • 我的成功函数在 ajax 内部,所以在你给出的代码之后我没有得到预期的输出。你的代码是正确的,但你能告诉我我是否在 $.ajax 函数中有这个成功方法,你的代码是否可以工作,如果没有,还有其他方法吗
    • @Sau 你试过调试吗?您确定要进入成功功能吗? alerted 是什么?试试 console.log'ing resp 看看返回了什么。
    • @Sau 很好,这意味着您正在获取对象。试试 console.log 那个对象,看看里面到底有什么。在 chrome 中,您可以单击它旁边的箭头(在您的控制台中)以展开它并查看它包含的确切内容
    • 我得到类似 object{xyz: Object} 如果我扩展它我得到 xyz:Object 扩展它 abc:array[2] 扩展它将给出 0:Object 1:Object 2:对象并进一步扩展此对象将为 0:对象给出结果:“你失败了”,动作:失败等等。
    • 它还在 0:Object 下给出了一些 proto:Object ,如果我扩展这个 proto:Object 它将在那里产生一堆东西这是功能,可以扩展..
    【解决方案2】:
    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)
        });
    }
    

    【讨论】:

    • 我在 $.ajax 函数中有成功函数,其中我提到类型为 GET,数据类型为 JSON,用户名和密码进行身份验证为什么我没有得到预期的输出可以我在 $.ajax 方法中使用 $.parseJSON 如果是,那么为什么它在我的情况下不起作用。你能进一步指导我吗
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-10
      • 2020-08-10
      • 1970-01-01
      相关资源
      最近更新 更多