javascript json获取对象的数据名称

时间:2020-05-07 11:31:20

标签: javascript arrays json key

还是新手@this,希望这不是一个愚蠢的问题。

我从Java后端得到一个json。 对于这个问题,我分配了一个带有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(小资本,大资本)

最后,我需要遍历“数据”并打印或存储该键名:blablaMOUTI blablaDAN,blablaDAA blablaALHAZO ...在屏幕上或简单数组列表中。 键名后面的值或空字符串,可以,我只需要键名即可。

发现了一些半类似的问题,但我无法解决。我发现所有答案都相信我已经知道键名。

3 个答案:

答案 0 :(得分:1)

尝试一下:

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 :(得分:1)

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

答案 2 :(得分:1)

您可以这样做:

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)

出于测试目的,这将使用所需键填充数组,但是您可以根据需要操纵结果