JQuery JSON декодировать несколько массивов

0

У меня этот множественный набор данных как массив

data = [{"id": "1", "name" : "abc", "key1" : "value12 }, {"id": "2", "name" : "cde", "key2" : "value2" }.....]

Мне нужно получить эти данные с помощью jQuery

json = $.parseJSON(data);

но как мне получить доступ к анализируемым данным JSON? json.id показывает результат как неопределенный.

благодаря

Обновление: Извините, я исправил приведенный выше пример JSON, который я дал, я просто набрал его самостоятельно, и это не оригинальная json, с которой я столкнулся. Я просто дал ему дать представление о проблеме, которую я испытывал. Спасибо за ответы :)

  • 2
    Это выглядит как недействительный JSON для меня. Между каждым объектом должны быть запятые. У вас есть массив объектов. Доступ к идентификатору первого объекта в коллекции будет json [0] .id.
  • 0
    @cpreid извините за это, я исправил json, я просто набрал его сам, оригинальный json - json_encode от php, так что оригинальный JSON не ошибся, я просто сделал пример, чтобы дать представление о вопросе
Теги:

4 ответа

3
Лучший ответ

Это не JSON. Это даже не JavaScript.

Если вы исправляете синтаксические ошибки (например, отсутствующие кавычки и отсутствующие запятые между элементами массива), то это литерал массива (содержащий литералы объектов, которые содержат...). Не parseJSON его (вы используете это в текстах JSON, хранящихся в строках JavaScript).

Поскольку это массив. У него нет идентификатора. Он имеет ряд числовых индексов.

var someObject = data[0];

Объекты, хранящиеся в этих индексах, имеют идентификаторы.

var id = someObject.id;
0

Ваш json недействителен. ',' отсутствуют между объектами.

Предположим, что если json:

data = [{"id": "1", "name" : "abc", "key1" : "value12" }, {"id": "2", "name" : "cde", "key2" : "value2" }]

Затем вы можете получить доступ к элементу 'id', используя это:

data[0].id
0

Попробуй это:

var data = '{"id": "1", "name" : "abc", "key1" : "value12" } , {"id": "2", "name" : "cde", "key2" : "value2"}';
var obj = JSON.parse('[' + data + ']');
alert(obj[0].id);

Вот демонстрация

-2

Ваш json недействителен,

data = [{"id": "1", "name" : "abc", "key1" : "value12" }, {"id": "2", "name" : "cde", "key2" : "value2" }.....]

Восстановить, используя:

var id =  data[0].id;

console.log(id);
  • 0
    Господин Даунвотерс, могу я узнать причину понижения голосов?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню