Как получить значения из вложенного объекта JSON, используя jquery? - PullRequest
0 голосов
/ 11 марта 2020

Я пытаюсь создать поиск ajax, используя jquery, вызывая объект JSON. В настоящее время я могу перебирать результаты из объекта, отформатированного следующим образом:

[{
    "ID": "4207b2d5b8994bd8a19c28815c07663d",
    "position": 1,
    "voteUpCount": 16,
    "voteDownCount": 32,
    "categories": [{
        "position": 1,
        "category": "7d435c8a70f7447ea03d4cbba11f4686"
    }],
    "keywords": [
        "key-word"
    ],
    "title": "This is a title",
    "body": "<p>this is description</p>",
    "outdated": false,
    "slug": "this-is-an-article",
    "views": 0,
    "labelName": [
        ""
    ],
    "locale": "gb",
    "storeName": "mystore",
    "id": 4207
},{
    "ID": "4207b2d5b8994bd8a19c28815c07663d",
    "position": 1,
    "voteUpCount": 16,
    "voteDownCount": 32,
    "categories": [{
        "position": 1,
        "category": "7d435c8a70f7447ea03d4cbba11f4686"
    }],
    "keywords": [
        "key-word"
    ],
    "title": "This is a title",
    "body": "<p>this is description</p>",
    "outdated": false,
    "slug": "this-is-an-article",
    "views": 0,
    "labelName": [
        ""
    ],
    "locale": "gb",
    "storeName": "mystore",
    "id": 4207
} ]

Я могу построить свои результаты, используя следующее:

$.each(data, function(key, value){
        article_data += '<div class="faq-item" data-artcile><a href="#">'+ value.title +'</a><i class="fa fa-chevron-down"></i></div>'; 
        article_data += '<div class="faq-answer">'+ value.body +'</div>';
    });

Проблема в том, что мой объект JSON входит в ответ, например:

    {
    "response": [{
    "ID": "4207b2d5b8994bd8a19c28815c07663d",
    "position": 1,
    "voteUpCount": 16,
    "voteDownCount": 32,
    "categories": [{
        "position": 1,
        "category": "7d435c8a70f7447ea03d4cbba11f4686"
    }],
    "keywords": [
        "key-word"
    ],
    "title": "This is a title",
    "body": "<p>this is description</p>",
    "outdated": false,
    "slug": "this-is-an-article",
    "views": 0,
    "labelName": [
        ""
    ],
    "locale": "gb",
    "storeName": "mystore",
    "id": 4207
},{
    "ID": "4207b2d5b8994bd8a19c28815c07663d",
    "position": 1,
    "voteUpCount": 16,
    "voteDownCount": 32,
    "categories": [{
        "position": 1,
        "category": "7d435c8a70f7447ea03d4cbba11f4686"
    }],
    "keywords": [
        "key-word"
    ],
    "title": "This is a title",
    "body": "<p>this is description</p>",
    "outdated": false,
    "slug": "this-is-an-article",
    "views": 0,
    "labelName": [
        ""
    ],
    "locale": "gb",
    "storeName": "mystore",
    "id": 4207
} ],
    "http_code": 200
}

Так что код, который я использую для создания полученного HTML, не работает, потому что не может найти КЛЮЧИ Я нацеливаюсь на свой l oop.

Вопрос: Как правильно перебрать этот обернутый объект?

Я пытался использовать для Например, этот формат без успеха

value.response.title

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 11 марта 2020

Все данные, имеющие в ответной переменной data.response, надеюсь, это поможет вам.

$.each(data.response, function(key, value){
        article_data += '<div class="faq-item" data-artcile><a href="#">'+ value.title +'</a><i class="fa fa-chevron-down"></i></div>'; 
        article_data += '<div class="faq-answer">'+ value.body +'</div>';
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...