duanpingzu7194 2012-02-24 15:24
浏览 365
已采纳

使用jQuery从JSON文件获取@attributes

So I have a JSON file, which is basically an ATOM XML encoded into JSON with PHP, each entry looks like this:

{
    id: "info:fedora/demo:SmileyBucket/RELS-EXT/2008-07-02T05:09:42.937Z",
    title: "RELS-EXT.0",
    updated: "2008-07-02T05:09:42.937Z",
    category: [
        {
            @attributes: {
                term: "info:fedora/fedora-system:FedoraRELSExt-1.0",
                scheme: "info:fedora/fedora-system:def/model#formatURI"
            }
        },
        {
            @attributes: {
                term: "RDF Statements about this object",
                scheme: "info:fedora/fedora-system:def/model#label"
            }
        },
        {
            @attributes: {
                term: "500",
                scheme: "info:fedora/fedora-system:def/model#length"
            }
        }
    ],
    content: {
        @attributes: {
            type: "application/rdf+xml"
        }
    }
}, 

I can get all the data except the things that are in @attributes. Here is a snippet of my jQuery:

$("#content-pane").text("ID: " +json.id);
$("#content-pane").append("<br/> Title: " +json.title);
$("#content-pane").append("<br/> Attributes: " +json.entry[5].content.toString());

Thanks

  • 写回答

1条回答 默认 最新

  • dthp96899 2012-02-24 15:27
    关注

    You can access properties using a key:

    var attributes = json.category[0]["@attributes"];
    

    One other note: Proper JSON has to have the key names in double quotes (please note there's a difference between a JSON as data interchange format, and defining an object in script). If you define an object in script using JSON syntax, you will need to quote key names that have illegal characters (such as @).

    Here's a Fiddle showing a working sample. http://jsfiddle.net/4YhTk/3/

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?