Задать вопрос
Alexandr220
@Alexandr220
developer

Node js: JSON.patse, не выдает вложенный массив, что делать?

Суть в том, что есть JSON : "payed":"[[6,1,37,1],[5,1,37,1],[3,1,37,1]]" , надо сделать из него массив, и перебрать все массивы в внутри, разбив полученное на переменные.

при res.send(payed[0]); выдает [ , поэтому конвертирую в json давжды

var obj = JSON.parse(req.params.data);
var payed = JSON.parse(obj.payed);

res.send(payed[0]);

выдает [6,1,37,1]

var obj = JSON.parse(req.params.data);
var payed = JSON.parse(obj.payed);

res.send(payed[0][0]);

не работает!

var obj = JSON.parse(req.params.data);
var payed = JSON.parse(obj.payed);

var ololo = JSON.parse(payed[0]);


res.send(ololo[0]);

не работает!
  • Вопрос задан
  • 1043 просмотра
Подписаться 1 Оценить 9 комментариев
Пригласить эксперта
Ответы на вопрос 2
@vshvydky
var obj = JSON.parse(req.params.data);
var payed = JSON.parse(obj.payed);

И что за коунаду вы делаете? получили один раз объект, и из js объекта, считая его json пытаетесь снова получить объект. Имхо ерунда.
По существу:
1. Если req.params.data - json объект делаем его парс var obj = JSON.parse(req.params.data);
2. Если хочется выделить в отдельную переменную payed часть данных, делаем var payed = obj.payed (в чем я вообще особого смысла не вижу).
3. Для понимания своего объекта выведите его в консоль и обумайте навигацию по нему:
consoe.log(JSON.stringify(obj, true, 4));

Обновил для комента:
f5c90d1f16cc40229868d4976726a1fe.png7b20411b4ba14c3eb90ea22c4cf3c66b.png
Ответ написан
@Ariandr
iOS разработчик
Если используется Express framework и подключен BodyParser, то всё работает очень просто и про манипуляции с JSON напрямую можно забыть:
var wholeObject = req.body;
var someField = wholeObject.someField;
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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