在javascript中替换JSON键
假设我有一个JSON对象,比如在javascript中替换JSON键,javascript,json,Javascript,Json,假设我有一个JSON对象,比如 var myjson = { "com.mycompany.top.Element" : { "com.mycompany.top.count" : 10, "com.mycompany.top.size" : 0 .... } }; 我想用冒号替换键中的点/句点,这样JSON就变成: var myjson = { "com:mycompany:top:Element" : { "com:myco
var myjson = {
"com.mycompany.top.Element" : {
"com.mycompany.top.count" : 10,
"com.mycompany.top.size" : 0
....
}
};
我想用冒号替换键中的点/句点,这样JSON就变成:
var myjson = {
"com:mycompany:top:Element" : {
"com:mycompany:top:count" : 10,
"com:mycompany:top:size" : 0
....
}
};
Doublos Crockford的JSON2只替换值而不是键。想知道是否有其他人编写了regexp或解析器来替换组成键的文本?您可以使用此递归函数:
function rewriteProperties(obj) {
if (typeof obj !== "object") return obj;
for (var prop in obj) {
if (obj.hasOwnProperty(prop)) {
obj[prop.replace(/\./g, ":")] = rewriteProperties(obj[prop]);
if (prop.indexOf(".") > -1) {
delete obj[prop];
}
}
}
return obj;
}
您是在处理JSON还是实际的JavaScript对象?它们是不同的东西。