我有一个像这样的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-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 = [
{
id: 24,
title:"MCOM",
y: 120
},
{
id: 26,
title:"MCOM",
y: 240,
},
{
id: 29,
title:"MCOM",
y: 480,
},
]
请帮助我,谢谢
答案 0 :(得分:1)
带引号({ "title": "asdf" }
)的索引等效到javascript中没有引号({ title: "asdf" }
)的索引,除了您可以使用更多符号,如空格,括号或关键字引用的版本。
另外,在JSON中,你 HAVE 在索引周围添加引号,否则它是无效的JSON。
关于修改,您可以使用Array.prototype.map()
执行此操作
var newData = data.map(function (el) {
return {
id: el.id,
title: el.title,
y: el.DIFF
};
});
console.log(newData);
答案 1 :(得分:1)
对此
使用数组map
功能
var result = data.map(function (obj) {
return {id:obj.id,title:obj.title,y:obj.DIFF};
})
console.log(result);
我在结果中假设BCOM
为title
,id
,24。我这是一种类型,它被写为{ {1}}。
我认为MCOM
对于密钥不重要。
答案 2 :(得分:0)
做一些谷歌搜索;-)它会有所帮助..
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" }'
希望它有所帮助。