#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); })
Комментариев нет:
Отправить комментарий