Страницы

Поиск по вопросам

вторник, 31 марта 2020 г.

Как вывести данные json?

#javascript #json


Доброй ночи. Уважаемые знатоки, подскажите, как прочесть данные типа json:

{
   "0":{
      "data":{
         "name":"vas",
         "fam":"hri"
      },
      "server_info":{
         "user_id":0,
         "pipe":"msg",
         "event":"message",
         "history":false
      }
   }
}


Я пытаюсь - resonse[0].data.name, но в ответ только: 


  [object Arguments]


. Как правильно счесть данные от туда?
    


Ответы

Ответ 1



var json = '{"0":{"data":{"name":"vas","fam":"hri"},"server_info":{"user_id":0,"pipe":"msg","event":"message","history":false}}}'; try { json = JSON.parse(json); for (var i in json) { console.log(json[i].data.name); // vas } } catch (e) { console.log('Некорректный JSON: '+e); }

Ответ 2



Вы можете обращаться к свойствам объекта с помощью []. resonse['0'].data.name var resonse = { "server_info": { "user_id": 0, "pipe": "msg", "event": "message", "history": false }, "0": { "data": { "name": "vas", "fam": "hri" } } }; // При условии, что resonse выглядит так console.log(resonse['0'].data.name);

Ответ 3



В цикле это будет примерно так var responce = { "0":{ "data":{ "name":"vas" } }, "1":{ "data":{ "name":"vas2" } } } for(var i in responce){ console.log(responce[i].data.name); }

Ответ 4



Как правильно счесть данные от туда? Если ничего за кадром не осталось, то так: var res = { "0": { "data": { "name": "vas", "fam": "hri" }, "server_info": { "user_id": 0, "pipe": "msg", "event": "message", "history": false } } }; // При условии, что resonse выглядит так console.log(res[0].data.name); UPD: Если таких объектов много: var res = { "0": { "data": { "name": "vas", "fam": "hri" }, "server_info": { "user_id": 0, "pipe": "msg", "event": "message", "history": false } }, "1": { "data": { "name": "vas1", "fam": "hri1" }, "server_info": { "user_id": 0, "pipe": "msg", "event": "message", "history": false } } }; // При условии, что resonse выглядит так Object.keys(res).forEach(function(i) { console.log(res[i].data.name); })

Комментариев нет:

Отправить комментарий