Разбор JSON (postman)
Добрый день.
Есть ответ в формате json из postman: Код:
{ let results = [] pm.response.json().responses.map(item => { item.hits.hits.map(element => { results.push(element._source) }) }); В results получаю первый , второй, третий, четвертый. Т.к. это разные блоки можно ли как-то их разделить, что бы было например: Код:
первый |
let results = [] pm.response.json().responses.map((item, i) => { if(i !== 0 && item.hits.hits.length > 0) results.push({id: '', title: '---/разделитель/--'}); item.hits.hits.forEach(element => results.push(element._source)); });0_o |
То, что надо)
Спасибо. Хотел распарсить запрос от ответов из 1 вопроса: {"query":{"match":{"short_description":"Первый"}},"from":0,"size":5} var response = pm.response.json(); var req = JSON.parse(request.data); var SHD = data.short_description; Ошибка парсинга. JSONError: Unexpected token '{' at 2:1 {"query":{"match":{"short_description":"Первый ^ По сути нужно только то что в "short_description". Заранее спасибо) |
repz, 1. не надо парсить то, что и так объект; 2. чтобы получить что-то вложенное, надо пройти по всей вложенности, а не надеяться что компьютер сам догадается чего ты от него хочешь.
var req = request.data; var SHD = req.query.match.short_description; |
Aetae,
Пробовал так тоже, ошибка: TypeError: Cannot read property 'match' of undefined |
console.log({ a: typeof req, b: req }); Что выводит? Вообще это, блин, примитив из примитива. Ты должен с таким сам разбираться, иначе никуда не уедешь. |
Строка:
{a: "string", b: "{"index":"goods"}{"query":{"match":{"short_description":"Первый"}},"from":0,"size":5} |
И что это, простите, за херня? Вот это вот
{"index":"goods"}{"query":{"match":{"short_description":"Первый"}},"from":0,"size":5}- не валидный json, откуда он у вас взялся в req? |
Это req от elastic.
Видимо никак его не распарсить по отдельности. |
Часовой пояс GMT +3, время: 20:00. |