Разбор 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, время: 11:46. |