Javascript 如何删除JSON对象键中的空格

Javascript 如何删除JSON对象键中的空格,javascript,Javascript,我的输出如下所示: 输出={ “新教室”:[{ “名称”:“苹果”, “年龄”:“6”, “百分比”:“24.00%” }, { “名称”:“橙色”, “年龄”:“5”, “百分比”:“9.88%” }, { “名称”:“绿色”, “年龄”:“2”, “百分比”:“27.27%” }, { “名称”:“灰色”, “年龄”:“6”, “百分比”:“12.63%” }] } 如何将新教室替换为新教室,新教室并不总是一个“新教室”。它可能是不同的文本 ob = JSON.parse(output);

我的输出如下所示:

输出={
“新教室”:[{
“名称”:“苹果”,
“年龄”:“6”,
“百分比”:“24.00%”
}, {
“名称”:“橙色”,
“年龄”:“5”,
“百分比”:“9.88%”
}, {
“名称”:“绿色”,
“年龄”:“2”,
“百分比”:“27.27%”
}, {
“名称”:“灰色”,
“年龄”:“6”,
“百分比”:“12.63%”
}]
}
如何将
新教室
替换为
新教室
,新教室并不总是一个“新教室”。它可能是不同的文本

ob = JSON.parse(output);

alert(Object.keys(ob))

当我这样做时,我得到的是
newchoorkshicle
作为键

您可以在接收到的对象中循环顶级属性名称,检测是否有空格,并删除空格。(您不需要这样做,它们是完全有效的属性名称,但如果需要,您可以这样做。)

var输出={“新教室”:[{“名称”:“苹果”,“年龄”:“6”,“百分比”:“24.00%”,{“名称”:“橙色”,“年龄”:“5”,“百分比”:“9.88%”,{“名称”:“绿色”,“年龄”:“2”,“百分比”:“27.27%”,{“名称”:“灰色”,“年龄”:“6”,“百分比”:“12.63%”,};
变量名,newName;
//循环遍历属性名称
for(输出中的变量名称){
//获取不带空格的名称
newName=name.replace(//g,“”);
//如果那不一样的话。。。
if(newName!=名称){
//创建新属性
输出[新名称]=输出[名称];
//删除旧的
删除输出[名称];
}
}

控制台日志(输出)您可以循环查看接收对象中的顶级属性名称,检测任何带有空格的属性,然后删除空格。(您不需要这样做,它们是完全有效的属性名称,但如果需要,您可以这样做。)

var输出={“新教室”:[{“名称”:“苹果”,“年龄”:“6”,“百分比”:“24.00%”,{“名称”:“橙色”,“年龄”:“5”,“百分比”:“9.88%”,{“名称”:“绿色”,“年龄”:“2”,“百分比”:“27.27%”,{“名称”:“灰色”,“年龄”:“6”,“百分比”:“12.63%”,};
变量名,newName;
//循环遍历属性名称
for(输出中的变量名称){
//获取不带空格的名称
newName=name.replace(//g,“”);
//如果那不一样的话。。。
if(newName!=名称){
//创建新属性
输出[新名称]=输出[名称];
//删除旧的
删除输出[名称];
}
}
控制台日志(输出)
  • 使用
    Object.keys
    获取对象的所有键
  • 使用
    String#replace
    替换
    String
var obj={
“新教室”:[{
“名称”:“苹果”,
“年龄”:“6”,
“百分比”:“24.00%”
}, {
“名称”:“橙色”,
“年龄”:“5”,
“百分比”:“9.88%”
}, {
“名称”:“绿色”,
“年龄”:“2”,
“百分比”:“27.27%”
}, {
“名称”:“灰色”,
“年龄”:“6”,
“百分比”:“12.63%”
}]
};
Object.keys(obj).forEach(函数(key){
替换变量=键。替换(“”,”);
如果(键!==已替换){
obj[替换]=obj[键];
删除obj[key];
}
});
控制台日志(obj)
  • 使用
    Object.keys
    获取对象的所有键
  • 使用
    String#replace
    替换
    String
var obj={
“新教室”:[{
“名称”:“苹果”,
“年龄”:“6”,
“百分比”:“24.00%”
}, {
“名称”:“橙色”,
“年龄”:“5”,
“百分比”:“9.88%”
}, {
“名称”:“绿色”,
“年龄”:“2”,
“百分比”:“27.27%”
}, {
“名称”:“灰色”,
“年龄”:“6”,
“百分比”:“12.63%”
}]
};
Object.keys(obj).forEach(函数(key){
替换变量=键。替换(“”,”);
如果(键!==已替换){
obj[替换]=obj[键];
删除obj[key];
}
});

控制台日志(obj)
json
的每个键中循环,然后解析

试试regexp

var word=“新教室”
word=word.replace(/\s/g',);

log(word)
json
的每个键中循环,然后解析

试试regexp

var word=“新教室”
word=word.replace(/\s/g',);

console.log(word)
所以如果
Percentage
有一些空格,这就不起作用了?@Mahi:问题不是我的印象。不,不会,因为我们只处理顶级对象。当然,同一个主体可以应用于从属数组中的对象……因此,如果
百分比
有一些空格,那么这就不起作用了?@Mahi:问题不在我的印象中。不,不会,因为我们只处理顶级对象。当然,相同的主体可以应用于从属数组中的对象…使用regex替换,否则它只替换第一个空格。使用regex替换,否则它只替换第一个空格。