假设我有一个 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:mycompany:top:count" : 10,
"com:mycompany:top:size" : 0
....
}
};
Doublos Crockford 的 JSON2 只是替换值而不是键。想知道是否还有其他人编写了正则表达式或解析器来替换组成密钥的文本?
您可以使用这个递归函数:
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;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)