我无法控制我正在通话的网络服务。它返回带有大写属性名称的JSON。这困扰我。
是否有任何Angular插件可以修复此问题?或者在javascript中有一种简单有效的方法吗?
答案 0 :(得分:2)
您可以使用for (auto it : vec)
函数作为参数传递给JSON.parse
:
reviver
基本上,它将每个属性转换为小写,并检查它是否不同。如果它不同,则设置小写属性并返回undefined,从而删除非小写的属性。如果它们相等,则返回值,因此没有什么特别的。
答案 1 :(得分:1)
Javascript Object类有一个名为keys()的方法。您可以使用它来迭代对象属性名称,并在将JSON字符串转换为javascript对象后使用toLowerCase()编辑它们。
var obj = {"Test": "foo"};
var ar = Object.keys(obj);
for(var i = 0; i < ar.length; i++){
var upperCasePropertyName = ar[i];
ar[i] = ar[i].toLowerCase();
obj[ar[i]] = obj[upperCasePropertyName];
delete obj[upperCasePropertyName];
}