繁体   English   中英

从 json_encode 访问数据

[英]access data from json_encode

下面是 ajax 页面的 json_encode() 生成的代码。 现在,我想检索数据(标题、ISBN、作者...)。 谁能帮我一把? 我看过 jQuery.parseJSON function 但感到困惑。

{
    "9780077225957": {
        "Items_Data": {
            "Title": "Developing Management Skills: What Great Managers Know and Do",
            "Data_Source": "Amazon",
            "Item_ID": "1329",
            "ISBN": "9780077225957",
            "Authors": "Timothy Baldwin",
            "Edition": "1",
            "Year": "2007",
            "Publisher": "McGraw-Hill/Irwin",
            "Amazon_Thumb_URL": "http://ecx.images-amazon.com/images/I/41pVf7GKujL._SL160_.jpg"
        }
    }
}

只需在 JavaScript 变量中分配即可,尽管我认为您首先需要将9780077225957更改为键,因为您不会使用 (.) 运算符访问它。 我已将其更改为Book9780077225957并且工作正常。 这是我使用的代码

var book = { "Book9780077225957" : { "Items_Data": { "Title": "Developing Management Skills: What Great Managers Know and Do", "Data_Source": "Amazon", "Item_ID": "1329", "ISBN": "9780077225957", "Authors": "Timothy Baldwin", "Edition": "1", "Year": "2007", "Publisher": "McGraw-Hill/Irwin", "Amazon_Thumb_URL": "http://ecx.images-amazon.com/images/I/41pVf7GKujL.SL160.jpg" } } };

alert(book.Book9780077225957.Items_Data.Title);

我想做类似的事情:

var Books = {
    toElement: function(data) {
        if (data) {

            $book = $('<div></div>')
                .addClass('book');

            $('<span></span>').className("title").text(data.Title)appendTo($book);
            $('<span></span>').className("authors").text(data.Authors)appendTo($book);
            $('<span></span>').className("isbn").text(data.ISBN)appendTo($book);

            $book.appendTo($('#books'));            
        }
    }
};

$(function() {
     $("#Button1").click(function() {
        var params = [];
        $.getJSON("book_url.js", params, function(returnedJSON) {
            Books.toElement(returnedJSON.Items_Data);           
        });

     });
});

我不确定 JSON 中的第一个元素是什么。 可能不会返回 JSON.Items_Data。 出于某种原因,我认为第一级被忽略了。 但我可能在想别的事情。

希望这可以帮助。

暂无
暂无

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

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