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']);

→ Ссылка