Как получить данные JSON из массива JSON? - PullRequest
0 голосов
/ 11 октября 2018

Написание кода 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]"}

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

пожалуйста, дайте мне знать, как мне это сделатьэто.

Спасибо

Ответы [ 2 ]

0 голосов
/ 11 октября 2018

Редактировать: Ошибка на самом деле просто вызывает .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 голосов
/ 11 октября 2018

Вам не нужно использовать 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);
...