Вопрос по jquery, json, javascript – Как получить доступ к этому значению JSON?

0

Я довольно плохо знаком с JavaScript и не знаю, как получить доступ к определенному значению в строке JSON. У меня был lsit этих объектов, и я сделал доступ к ним, просматривая с$.each функция. Но это не похоже на работу здесь. Я пытался сделатьalert(data.type); но это дает мнеundefined переменная.

TL; DR:
Это строка JSON, которую я получаю через AJAX. Как я могу получить доступtype значение в JavaScript, используя jQuery?

<code>{
    "parent_id": "100003381460677",
    "type": "post",
    "title": "a",
    "body": "b",
    "date_normal": "01 May 2012"
}
</code>
Сначала нужно проанализировать JSON (явно или неявно, см. / Stackoverflow.com вопросы / 8951810 / ...). Тогда у вас есть объект JavaScript, который, я полагаю, вы знаете, как работать с ним. Felix Kling
@ FelixKling Да, я не знал, что мне нужно разобрать это. Спасибо, теперь это работает. stan

Ваш Ответ

5   ответов
0

Если вы используете$.getJSON (это автоматически проанализирует ответ AJAX как объект JSON), затем

$.getJSON("<url>", function(data, status) {
     $.each(data, function(i, elem) {
          console.log(elem.type);
     });
});

Обратите внимание, что первый аргумент для обратного вызова в$.each - это индекс в массиве, а не сам элемент (это второй аргумент).

3

parseJSON помогает ва

{"name":"John"}');
alert( obj.name );
Правильно, я использовал плагин, который возвращал его как строку, а не JSON, поэтому он не определен. Когда я проанализировал строку на допустимый JSON, он работает сейчас. Благодарность stan
0

что вы используете это в качестве обратного вызова ajax:

function(data){ ... }

Вы можете получить к нему доступ с точечной нотацией:

data.type

0
1

что эти данные JSON поступают из вызова AJAX, убедитесь, что вы указали правильный тип данных json) если ваш сервер не настроен для правильной отправкиContent-Type заголовок ответа:

$.ajax({
    url: '/foo',
    type: 'POST',
    dataType: 'json',
    success: function(result) {
        alert(result.type);
    }
});

Затем аргумент, переданный обратному вызову success, уже будет представлять объект javascript (десериализованный jQuery автоматически из строки JSON ответа сервера). И когда у вас есть объект JavaScript, вы можете напрямую получить доступ к его свойствам по имени. В примере, который вы показали, это простой объект, а не массив. Таким образом, вы можете напрямую получить доступ к свойствам по имени.

Похожие вопросы