Javascript 如何替换对象';s PascalCase键之间是否有额外的空间?

Javascript 如何替换对象';s PascalCase键之间是否有额外的空间?,javascript,json,Javascript,Json,我正在使用JSON填充一些字段。我装的钥匙都是骆驼壳的,看起来像下面的 { "ThisIsAnother": {}, "ThisIsAnExample": {} } 我很好地把它们拉回来,但我需要格式化它们,使它们正确,比如 { "This Is Another": {}, "This Is An Example": {} } 这在JS中是可能的,还是我应该用另一种方式格式化JSON?您总是可以根据对象所有键的大写字母大小写进行拆分。 不过,我相信用户应该适应并使用正确的js

我正在使用JSON填充一些字段。我装的钥匙都是骆驼壳的,看起来像下面的

{
  "ThisIsAnother": {},
  "ThisIsAnExample": {}
}
我很好地把它们拉回来,但我需要格式化它们,使它们正确,比如

{
  "This Is Another": {},
  "This Is An Example": {}
}

这在JS中是可能的,还是我应该用另一种方式格式化JSON?

您总是可以根据对象所有键的大写字母大小写进行拆分。 不过,我相信用户应该适应并使用正确的json密钥命名

let数据={
“这是另一个”:{}
};
Object.key(数据).forEach((key)=>{
让newKey=key.split(/(?=[A-Z])/).join(“”);
数据[newKey]=数据[key];
删除数据[键];
});

控制台日志(数据)
您可以使用带有for的正则表达式,为它们添加一个额外的空格

(注意:这将创建一个新对象。如果您希望相同的对象发生变异,您可以将此正则表达式与公认的答案一起使用)

let数据={
“这是另一个”:{},
“thisisan示例”:{}
};
const newObj=Object.keys(数据).reduce((acc,k)=>{
让newKey=k.replace(/\B([A-Z])/g,“$1”);
acc[newKey]=数据[k];
返回acc
},{});
console.log(newObj)
const json={
这是例如:{},
这是另一个:{}
};
const result=Object.entries(json).reduce((全部,[key,value])=>{
所有[key.match(/[A-Z][A-Z]+//g.join(“”)]=值
全部归还;
}, {});

控制台日志(结果)你能说得更具体些吗?然后我需要格式化它们?对不起,修正了@Ashaymandwarya,这是一个这样的对象数组吗?谢谢@JonathanHamel,什么意思?调整并使用正确的json密钥命名?在这种情况下,正确的密钥可以是“Thisisather”。