Как получить данные JSON из массива JSON?

1

Написание JS-кода для цикла над массивом и получения значений. Получение значения как object при итерации через массив.

Вот фактический JSON, который должен быть зациклен.

[ { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' } ]

Пример кода для итерации по массиву:

var data = [ { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' } ]



function newX(data) {
    console.log(data.length);
    for (var i = 0; i < data.length; i++) {
        console.log(JSON.stringify(data[i]));
    }
}
newX(data);

Выход:

{"sum":"[object Object]","count":"[object Object]"}
{"sum":"[object Object]","count":"[object Object]"}
{"sum":"[object Object]","count":"[object Object]"}
{"sum":"[object Object]","count":"[object Object]"}
{"sum":"[object Object]","count":"[object Object]"}
{"sum":"[object Object]","count":"[object Object]"}
{"sum":"[object Object]","count":"[object Object]"}

но здесь нужно увидеть фактические значения.

сообщите мне, как я могу это сделать.

Спасибо

  • 0
    Почему ты жалеешь?
  • 0
    и похоже, что что-то пошло не так при создании JSON
Показать ещё 7 комментариев
Теги:
ecmascript-6
ecmascript-5

2 ответа

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

Изменить: ошибка действительно просто вызывает.log() в jsObject, а не свойства. console.log(data [i] .sum) - единственное, что вам нужно изменение: D

Функция toString на объекте выводит [object Object] (если это простой объект), поэтому вы, вероятно, пытались вывести объект без каких-либо его свойств, исправить это, и ваш console.log будет работать :)

var data = [ { sum: 'xx', count: 'yy' },
  { sum: 'xy', count: 'yx' }]



function newX(data) {
    console.log(data.length);
    for (var i = 0; i < data.length; i++) {
        console.log("sum: " + data[i].sum + "\ncount: " + data[i].count); 
    }
}
newX(data);
0

Вам не нужно использовать JSON.stringify. Если вы хотите получить значение от объекта, вам нужно использовать '.' (точка), вы можете прочитать об этом здесь

var data = [ { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' },
  { sum: '[object Object]', count: '[object Object]' } ]



function newX(data) {
    console.log(data.length);
    for (var i = 0; i < data.length; i++) {
        console.log('sum = '+data[i].sum + '  count = '+data[i].count);
    }
}
newX(data);

Ещё вопросы

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