繁体   English   中英

如何在JavaScript中解析JSON对象

[英]How do I parse a JSON object in JavaScript

我有以下函数,当前仅显示从GET请求返回的对象到控制台。 我需要做的是解析“数据”对象,以便可以将数据中的“输出”字符串返回到我的网页。 任何帮助将不胜感激。

window.onload = function() {
    var output = $.ajax({
        url: 'https://ajith-holy-bible.p.mashape.com/GetVerseOfaChapter?Book=John&chapter=3&Verse=16', // The URL to the API. You can get this by clicking on "Show CURL example" from an API profile
        type: 'GET', // The HTTP Method, can be GET POST PUT DELETE etc
        data: {}, // Additional parameters here
        dataType: 'json',
        success: function (data) {
            //
            //Change data.source to data.something , where something is whichever part of the object you want returned.
            //To see the whole object you can output it to your browser console using:
            console.log(data);
        },
        error: function (err) {
            alert(err);
        },
        beforeSend: function (xhr) {
            xhr.setRequestHeader("X-Mashape-Authorization", "my_key_here"); // Enter here your Mashape key
        }
    });
}

我不确定您的JSON的样子,但可以说是

{
    "foo": "some value",
    "bar": "some other value"
}

那么您可以执行以下操作:

success: function (data) {

    console.log(data);

    var dataObj = $.parseJSON(data);

    $.each(dataObj, function(key, value) {
        if(key == "foo") {
            // do something with foo's value
            console.log(value);         
        }
        if(key == "bar") {
            // do something with bar's value
            console.log(value); 
        }
    });

}

如果

dataType: 'json',

你的回应看起来像

{
   foo:'bar'
}

您可以像访问

    success: function (data) {

     console.log(data.foo)

将输出

"bar"

将请求分配给变量“输出”也是不必要的

如果这对您没有帮助,则您应该json-lint您的响应,也许标题不正确,等等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM