Поиск объекта JSON с помощью jQuery - PullRequest
1 голос
/ 11 декабря 2010

У меня есть объект javascript, похожий на массив JSON, который мне нужно запросить. Я хотел знать, есть ли способ использовать jQuery для поиска значений узлов без итерации по всему объекту и последовательной проверки каждого узла на соответствие. Например, вот объект:

Test = {};

Test.Species = {
    "Category": [{
        "Product": [{
            "id": "a01",
            "name": "Pine",
            "description": "Short description of pine."
        },
        {
            "id": "a02",
            "name": "Birch",
            "description": "Short description of birch."
        },
        {
            "id": "a03",
            "name": "Poplar",
            "description": "Short description of poplar."
        }],
        "id": "A",
        "title": "Cheap",
        "description": "Short description of category A."
    },
    {
        "Product": [{
            "id": "b01",
            "name": "Maple",
            "description": "Short description of maple."
        },
        {
            "id": "b02",
            "name": "Oak",
            "description": "Short description of oak."
        },
        {
            "id": "b03",
            "name": "Bamboo",
            "description": "Short description of bamboo."
        }],
        "id": "B",
        "title": "Moderate",
        "description": "Short description of category B."
    },
    {
        "Product": [{
            "id": "c01",
            "name": "Ebony",
            "description": "Short description of ebony."
        },
        {
            "id": "c02",
            "name": "Rosewood",
            "description": "Short description of rosewood."
        },
        {
            "id": "c03",
            "name": "Bubinga",
            "description": "Short description of bubinga."
        }],
        "id": "C",
        "title": "Expensive",
        "description": "Short description of category C."
    }]
};

<ч /> Как я могу получить название и описание продукта, если ему присваивается идентификатор (опять же, без вложенного элемента each () в целом)? Я пробовал jQuery для find () и селекторов атрибутов ([id = a03]) безуспешно ... Единственный способ точно ориентировать узлы - использовать позицию индекса (например, var x = $(Test.Species.Category[2].Product[1].attr('description'));), но это не цель ,

Я ищу что-то еще в этом духе, но, похоже, это не работает:

var x = $(Test.Species.Category[id='B'].Product[id='b02'].attr('description'));

1 Ответ

0 голосов
/ 11 декабря 2010
var x = $(Test.Species.Category[0].Product[id='b02'].attr('description'));
var x = $(Test.Species.Category[0].Product[id='b02'].attr('name'));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...