Javascript只返回键,不返回值
Javascript returns only keys but not values
以下是源文件中的数据:
{
"dubbuseqchapter+block@a7a5931f68d0482eaff2b7c9f9684e47": {
"category": "chapter",
"children": [
"dubbuseqsequential+block@968513c8f0cc4249b7cfc2290ac967dc",
"dubbuseqsequential+block@f7f730a478144a74bd127f996d6dc4f5",
"dubbuseqsequential+block@91a0d5d7cd9649a3bdf057400e0a1c96",
"dubbuseqsequential+block@28b2b171b6734b13af29735796c5ad5a",
"dubbuseqsequential+block@192a150c8aab43b9bd236773ba60b414",
"dubbuseqsequential+block@26b3464dad42460ea66f9afe89770065"
],
"metadata": {
"display_name": "Introduction course orientation"
}
},
"dubbuseqchapter+block@b2451e9195c5466db8b66f53ed06c9fd": {
"category": "chapter",
"children": [
"dubbuseqsequential+block@c95826a16f71405ba58319d23d250fc4",
"dubbuseqsequential+block@fe4e3b8b7cdd4fa0b9fe9090223b7125",
"dubbuseqsequential+block@44bbdee625dc465ebe725d2126ed0662",
"dubbuseqsequential+block@8d4daba07d4443f3b2a0b2506280ee2c",
"dubbuseqsequential+block@c68d9d3ba7de45b1b0770085e4f1f286",
"dubbuseqsequential+block@ccdca5b2aca94dbdabb3a57a75adf3fa"
],
"metadata": {
"display_name": "Module closing section"
}
}
}
以下javascript带来了最重要的键值(即dubbuseqchamber+block@a7a5931f68d0482eaff2b7c9f9684e47,dubbuseqchapter+block@b2451e9195c5466db8b66f53ed06c9fd)
Javascript代码
var obj = JSON.parse(jContent);
var keys = Object.keys(obj);
for (var i = 0; i < keys.length; i++) {
var row = createRowCopy(getOutputRowMeta().size());
var idx = getInputRowMeta().size();
row[idx++] = keys[i];
// Alert (keys.length);
putRow(row);
}
但是,我无法获取密钥的值。。(即类别、子项和元数据)。
我尝试过Objects.values(),但它在警报中返回null或object对象。
keys
是一个字符串数组,每个字符串都是一个属性名称。
您可以通过通常的方式获得属性名称的值:
object[property_name]
即
var value = obj[keys[i]];
此代码显示如何导航到解析的JsonData
var obj = JSON.parse(textJson);
var keys = Object.keys(obj);
console.log(obj[keys[0]].metadata.display_name);
这将打印:简介课程方向
甚至可以通过这种方式检索您的子属性
var obj = JSON.parse(textJson);
var keys = Object.keys(obj);
for (var i = 0; i < keys.length; i++){
console.log(keys[i]);
var subKeys = Object.keys(obj[keys[i]]);
for (var j = 0; j < subKeys.length; j++) console.log(subKeys[j] + " --> " + obj[keys[i]][subKeys[j]]);
}
相关文章:
- Javascript返回值只在循环中返回一次
- XMLHttpRequest未返回值-状态202
- 根据是否解析了 Promise 从函数返回值
- Angular,函数在(模型)工厂中返回值
- AngularJS错误:提供程序必须从$get工厂方法返回值
- php函数的ajax html$_POST值返回null
- 通过数组值返回对象
- 如何从客户端的数组中获取用户输入和返回值
- Javascript中带有返回值的嵌套函数
- 为变量分配多个nodejs导出返回值时出现问题
- JavaScript-获取数据属性的值返回未定义的值
- 通过回调从onreadystatechange返回值
- 从Ajax函数返回值
- JavaScript生成器中收益率返回值的解析
- HTML如何根据javascript函数的返回值限制文本输入
- 为什么函数 f 中的返回值返回显示函数而不是 x 值
- 函数的返回值返回错误的值
- 模块中的返回值返回Null
- 在我自己的Angular服务中,如何将返回值返回给调用该服务的控制器
- 如何将ajax调用的结果作为函数的返回值返回