javascript中的数组格式化
我有一个类似这样的json数组javascript中的数组格式化,javascript,arrays,json,Javascript,Arrays,Json,我有一个类似这样的json数组 var data= [ { "id": 24, "title": "BCOM", "start": "2014-08-05 12:59:00 PM", "end": "2014-08-05 2:59:00 PM", "description": "mcom", "DIFF": 120 }, { "id": 26, "title": "MCOM", "start": "2014-0
var data= [
{
"id": 24,
"title": "BCOM",
"start": "2014-08-05 12:59:00 PM",
"end": "2014-08-05 2:59:00 PM",
"description": "mcom",
"DIFF": 120
},
{
"id": 26,
"title": "MCOM",
"start": "2014-08-10 12:59:00 PM",
"end": "2014-08-10 4:59:00 PM",
"description": "mcom",
"DIFF": 240
},
{
"id": 29,
"title": "MCOM",
"start": "2014-08-11 12:59:00 PM",
"end": "2014-08-11 8:59:00 PM",
"description": "mcom",
"DIFF": 480
},
{
"id": 30,
"title": "MCOM",
"start": "2014-08-13 12:59:00 PM",
"end": "2014-08-13 4:59:00 PM",
"description": "mcom",
"DIFF": 240
}
]
我想让这个数组具有不带双引号的索引,并通过使用javascript数组函数更改一些索引名和一些其他修改
像
请在这方面帮助我,谢谢你做一些谷歌搜索;-)这会有帮助的
var data = '{ "name": "John Smith" }'; //Let's say you got this
data = data.replace(/\"([^(\")"]+)\":/g,"$1:"); //This will remove all the quotes
data; //'{ name: "John Smith" }'
希望能有帮助 在javascript中,带引号的索引({“title”:“asdf”}
)与不带引号的索引({title:“asdf”}
)是等效的,只是您可以在带引号的版本中使用更多的符号,如空格、括号或关键字
此外,在JSON中,必须在索引周围添加引号,否则它不是有效的JSON
关于修改,您可以使用Array.prototype.map()
来完成此操作
var newData = data.map(function (el) {
return {
id: el.id,
title: el.title,
y: el.DIFF
};
});
console.log(newData);
为此使用数组
map
函数
var result = data.map(function (obj) {
return {id:obj.id,title:obj.title,y:obj.DIFF};
})
console.log(result);
我假设结果中应该有BCOM
作为title
的id
,24。这是一种类型,在那里它被写为MCOM
我认为什么对钥匙不重要。你试过什么吗?你面临的问题是什么?这似乎很简单!一种简单的方法是将JSON转换为数组,遍历它,并使用
DIFF
和delete
其他属性的值分配一个新属性y
!您可以使用Array.prototype.forEach()
并编写回调函数来进行修改。我认为第一个数据标题应该是BCOM
,不是吗?事实上,问题是我必须将这些数据填充到高位图表上,所以我必须格式化数组,比如“id”到id,“title”到title,“diff”到y,我们如何在Javascript中做到这一点,如果对我来说没有什么意义的话。属性名称在JS中始终是字符串。如果要更改它们在源代码中的显示方式,请打开文本编辑器并删除引号。在运行时,是否使用引号没有任何区别。没有引号,它就不是有效的JSON。
var result = data.map(function (obj) {
return {id:obj.id,title:obj.title,y:obj.DIFF};
})
console.log(result);