javascript json получить имена данных для объекта - PullRequest
0 голосов
/ 07 мая 2020

Все еще newb ie @ это, надеюсь, не глупый вопрос.

Я получаю от java бэкэнда json. Для этого вопроса я назначил a с этой json строкой.

let a={"status":"ok","data":[{"blablaMOUTI blablaDAN":"","blablaDAA blablaALHAZO":"","blablaMAR blablaBDAN":"","blablaHIM blablaDAN":""}]};
let b=a.data;
let s="";
for (i in b) {s += b[i]};

$('#msg').html(s);

В качестве вывода я получаю объект Object (малый капитал, большой капитал)

В конце концов, мне нужно пробежать " data 'и распечатайте или сохраните эти имена ключей: blablaMOUTI blablaDAN, blablaDAA blablaALHAZO ... на экране или в простом списке массивов. Значения после имен ключей или пустая строка, это нормально, мне нужны только имена ключей.

Нашел несколько полумодельных вопросов, но мне не удалось заставить их работать. Ответы, которые я нашел, полностью доверяют, я уже знаю ключевые имена.

Ответы [ 3 ]

1 голос
/ 07 мая 2020
Object.getOwnPropertyNames(a.data[0]);

Output:  ["blablaMOUTI blablaDAN", "blablaDAA blablaALHAZO", "blablaMAR blablaBDAN", "blablaHIM blablaDAN"]

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames

1 голос
/ 07 мая 2020

Сделать это можно так:

let a={"status":"ok","data":[{"blablaMOUTI blablaDAN":"","blablaDAA blablaALHAZO":"","blablaMAR blablaBDAN":"","blablaHIM blablaDAN":""}]};

var keys = [];
for(i = 0; i< a.data.length; i++){
   for(var k in a.data[i]) {     
    keys.push(k);
   }
}

console.log(keys)

Для целей тестирования это заполнит массив ключами, которые вы хотели, но вы можете манипулировать результатом, как вы sh

1 голос
/ 07 мая 2020

Попробуйте следующее:

Object.getOwnPropertyNames(a.data[0]);

Output:  ["blablaMOUTI blablaDAN", "blablaDAA blablaALHAZO", "blablaMAR blablaBDAN", "blablaHIM blablaDAN"]

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/getOwnPropertyNames

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...