【发布时间】:2015-10-30 14:54:46
【问题描述】:
如何动态地替换 JSON 对象的键中的空格?例如,如果我有以下对象:
[{
"FIRST NAME": "Philip",
"LAST NAME": "Rivers",
"NUMBER": "17",
"GPA": "1.0",
"OLD_FACTOR": "8",
"NICENESS": "1"
}, {
"FIRST NAME": "Peyton",
"LAST NAME": "Manning",
"NUMBER": "18",
"GPA": "4.0",
"OLD_FACTOR": "5000",
"NICENESS": "5000"
}]
我希望能够将“FIRST NAME”和“LAST NAME”分别动态重命名为“FIRST_NAME”和“LAST_NAME”。根据目前的研究,我有这个功能:
function replaceSpaces(data) {
debugger;
for (var i = 0; i < data.length; i++) {
var obj = data[i];
for (var key in obj) {
var replacedKey = key.split(' ').join('_');
data[i][obj] = replacedKey;
}
}
return data;
}
传入的“数据”参数是一个在进入此函数之前已经运行过 JSON.parse 的对象。
我对这段代码的问题是它可以很好地循环键,并将正确的替换字符串分配给“replacedKey”,但它没有将它分配给原始数据对象。
【问题讨论】:
-
data[i][replacedKey] = data[i][key]; -
您实际上是在询问 JSON 吗?也就是说,您是对转换 JSON 文档/字符串的文本内容感兴趣,还是仅仅对使用 JavaScript 对象感兴趣?
-
我有兴趣修改 JavaScript 对象的键名(如果我理解正确的话)。我已经将其解析为对象,因此我对更改之前的字符串不感兴趣。
标签: javascript json