javascript - 拆分键值对,给它们新的键

标签 javascript json split key

目前,我的 JSON 如下所示:

var json = {"level" : [
                {"hs": 20},    //one
                {"no_hs": 30}  //two 
            ]};

我需要它看起来像这样:

var json = {"level" : [
               {"education" : "hs", "amount" : 20},   //one
               {"education" : "no_hs", "amount" : 30} //two
]};

如何拆分键值对,生成两个值,然后向其中添加键?

最佳答案

您可以使用Object.keys()获取 key 。

var object = { "level": [{ "hs": 20 }, { "no_hs": 30 }] };

object.level = object.level.map(function (a) {
    var o = {};
    Object.keys(a).forEach(function (k) {
        o.education = k;
        o.amount = a[k];
    });
    return o;
});

document.write('<pre>' + JSON.stringify(object, 0, 4) + '</pre>');

关于javascript - 拆分键值对,给它们新的键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36335626/

相关文章:

javascript - 如何中止/停止正在进行的亚马逊 AWS s3 上传

javascript - Jquery 按名称选择按钮

json - 使用 args 在 jq 中查询

php - Json 编码从 Ajax 中给我 null,但从正常的 php 字符串中没有给我 null

python - 如何将 URL 拆分为三个不同的变量

perl - 如何将多行处理/存储到从 perl 文件读取的单个字段中?

javascript - 如何检查 Meteor.Collection 是否同步?

php - 将数组从 javascript 传递到 PHP 时出错

java - RestEasy + JacksonJaxbJsonProvider 配置包含 + 注释

javascript - 按换行符拆分字符串,保留带引号的段