Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Получить данные с json array не используя его имя (https://javascript.ru/forum/dom-window/71089-poluchit-dannye-s-json-array-ne-ispolzuya-ego-imya.html)

dima85 25.10.2017 16:02

Получить данные с json array не используя его имя
 
{"cont":[{"type":"text"}],"name":[{"type":"text"}],"tedt":"sdf","cont3":[{"type":"text"}]}


for(var i = 0;i<src.Object.keys[2].length;i++) {  

}


Хочу сделать цикл и посмотреть что находится в "cont3".
Имя "cont3" в цикле писать нельзя. Подскажите как это сделать, я тут что-то намудрил: src.Object.keys[2].length

Nexus 25.10.2017 16:04

var json={"cont":[{"type":"h5"}],"name":[{"type":"h5"}],"tedt":"sdf","cont3":[{"type":"h5"}]};
console.log(json.cont3);

dima85 25.10.2017 16:10

cont3 нельзя писать в js. Нужно его заменить на цифру. Насколько я понимаю он будет [2] судя по моему json.

рони 25.10.2017 16:27

dima85,
var src = {"cont":[{"type":"text"}],"name":[{"type":"text"}],"tedt":"sdf","cont3":[{"type":"всякая хрень"}]}
alert(JSON.stringify(src[Object.keys(src)[3]]));

Dilettante_Pro 25.10.2017 16:49

var src = {"cont":[{"type":"text"}],"name":[{"type":"text"}],"tedt":"sdf","cont3":[{"type":"всякая хрень"}]};
var i = 0;
for(var key in src) {
   if(i == 3) {alert(key+':'+ JSON.stringify(src[key]))};
    i++;
}

dima85 25.10.2017 16:50

А как в цикле показать keys? Я сделал такой вариант, но он в одном alert показывает сразу все, а нужно по одному.
for(var i = 0;i<src[Object.keys(src)[2]].length;i++) {
 alert(Object.keys(src[2][i])); //???
 }


и в этом варианте:
var i = 0;
for(var key in src) {
   if(i == 3) {
   alert(key+':'+ JSON.stringify(src[key]));
   for(var i = 0;i<src[key].length;i++) {
    alert(Object.keys(src[key][i]));
   }
   };
    i++;
}

Alexandroppolus 25.10.2017 17:25

порядок полей не задан по стандарту. Могут перечисляться как угодно.

в чем суть задачи?

Dilettante_Pro 25.10.2017 17:49

dima85,
Цитата:

Сообщение от dima85
как в цикле показать keys?

var src = {"cont":[{"type":"text"}],"name":[{"type":"text"}],"tedt":"sdf","cont3":[{"type":"всякая хрень"}]};

for(var key in src) {
   alert(key+':'+ JSON.stringify(src[key]));
}

dima85 25.10.2017 18:15

Надо в "cont3" пройтись по {*} показать каждый keys и его содержимое в отдельном alert.

Alexandroppolus 25.10.2017 18:29

dima85,
почему "cont3" нельзя писать в js?


Часовой пояс GMT +3, время: 07:35.