JS работа с JSON
Есть JSON вывод подобного содержимого:
{
"code":0,
"message":"hello",
"detail":{
"домен-1":{
"user":"user-1",
"http":"http->https",
"unic_id":null
},
"домен-2":{
"user":"user-2",
"http":"https->http",
"unic_id":null
}
}
}
и таких может быть несколько. Как мне правильно оформить цикл, чтобы можно было вывести список
в духе alert(result["detail"]["домен-номер"]["http"]); отдельно для каждого?
Ответы (2 шт):
Автор решения: Алексей Шиманский
→ Ссылка
Можно использовать Object.entries() - метод возвращает массив собственных перечисляемых свойств указанного объекта в формате [key, value], в том же порядке, что и в цикле for...in
var test = {"code":0,"message":"hello","detail":{"домен-1":{"user":"user-1","http":"http->https","unic_id":null},"домен-2":{"user":"user-2","http":"https->http","unic_id":null}}};
for (const [key, value] of Object.entries(test.detail)) {
console.log(`${key} ${value.http}`);
}
Автор решения: fixer
→ Ссылка
JSON.parse() преобразовывает json строку в обьект.
var test = '{"code":0,"message":"hello","detail":{"домен-1":{"user":"user-1","http":"http->https","unic_id":null},"домен-2":{"user":"user-2","http":"https->http","unic_id":null}}}';
var myobj = JSON.parse(test);
console.log(myobj['detail']['домен-1']);