使用jQuery从JSON文件获取@attributes

时间:2012-02-24 15:24:32

标签: php jquery json attributes

所以我有一个JSON文件,它基本上是一个用PHP编码成JSON的ATOM XML,每个条目都是这样的:

{
    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"
        }
    }
}, 

除了@attributes中的内容之外,我可以获取所有数据。 这是我的jQuery片段:

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

由于

1 个答案:

答案 0 :(得分:4)

您可以使用密钥访问属性:

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

另一个注意事项:正确的JSON必须在双引号中使用键名(请注意,JSON作为数据交换格式与在脚本中定义对象之间存在差异)。如果使用JSON语法在脚本中定义对象,则需要引用具有非法字符的键名(例如@)。

这是一个显示工作样本的小提琴。 http://jsfiddle.net/4YhTk/3/