Получение @attributes из файла JSON с помощью jQuery - PullRequest
2 голосов
/ 24 февраля 2012

Итак, у меня есть файл JSON, который представляет собой XML-код ATOM, закодированный в JSON с помощью PHP, каждая запись выглядит следующим образом:

{
    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 Ответ

4 голосов
/ 24 февраля 2012

Вы можете получить доступ к свойствам, используя ключ:

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

Еще одно примечание: правильный JSON должен иметь имена ключей в двойных кавычках (обратите внимание, что есть разница между JSON в качестве формата обмена данными иопределение объекта в скрипте).Если вы определяете объект в сценарии с использованием синтаксиса JSON, вам нужно будет заключить в кавычки имена ключей, которые содержат недопустимые символы (например, @).

Вот Скрипка, показывающая рабочий образец.http://jsfiddle.net/4YhTk/3/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...