如何使用equals而不是冒号将.JSON键值对重新格式化为逗号分隔值?

时间:2017-05-02 12:20:07

标签: javascript json string replace

我有一个庞大的JSON文件,我想解析成一个表列。但是,纯JSON非常难看,并没有真正提供太多信息。

我想重新格式化。

假设我输入了这个JSON:

{
    "time": "1492511327.863946000",
    "type": "Vicious",
    "data": {
        "subject": "Danger",
        "ID": "12314",
        "Country": "Russia"
    }
}

我希望以下列格式输出data对象,并将其填入一列:

subject=Danger, ID=12314, Country=Russia

(真正的对象要大得多)

我已经看过jQuery选项,但我没有访问(也不会)访问jQuery。

如何操作JSON格式的大对象并将其转换为上述输出,即将:更改为=并删除引号。

对于后一部分,我可以自己替换它们。如果它们是字符串而不是一个大对象。但在这种情况下,这并不能很好地发挥作用。

(示例replace(/['"]+/g, '')

1 个答案:

答案 0 :(得分:2)

您可以使用Object.keys(o)并将其存储在数组中

var obj ={
    "time": "1492511327.863946000",
    "type": "Vicious",
    "data": {
        "subject": "Danger",
        "ID": "12314",
        "Country": "Russia"
    }
};

let arr = Object.keys(obj.data).map(k=>`${k}=${obj.data[k]}`);

console.log(arr.join(', '));