我有一个包含以下JSON字符串的变量:
{
"0" : "Jun 20, 2012 03:02 PM",
"1" : "Jun 20, 2012 03:26 PM",
"2" : "Jun 21, 2012 01:12 PM",
"3" : "Jun 21, 2012 01:25 PM",
"4" : "Jun 21, 2012 02:42 PM",
"5" : "Jun 21, 2012 02:43 PM",
"6" : "NULL"
}
我希望将此JSON转换为javascript中的数组 array [0]有“Jun 20,2012 03:02 PM”数组[1]有“Jun 20,2012 03:26 PM”等等。
答案 0 :(得分:5)
您必须先将JSON字符串解析为javascript对象。
<强>的JavaScript 强>
var object = JSON.parse(JSONString);
要在没有JSON支持的情况下填充浏览器: http://bestiejs.github.com/json3/
然后,将该对象转换为数组:
<强>的JavaScript 强>
var arr = [];
for(var i in object) {
if(object.hasOwnProperty(i)) {
arr.push(object[i]);
}
}
jQuery
var arr = $.map(obj,function(value){ return value; });
小提琴:http://jsfiddle.net/iambriansreed/MD3pF/
注意:由于原始海报没有提到jQuery,因此值得一提的是,仅为这些实例加载jQuery是不值得的,如果你还没有使用jQuery,最好还是使用纯JavaScript。
答案 1 :(得分:2)
或者,如果您的目标是ES5及以上:
// myObject = { '0': 'a', '1': 'b' };
var myArray = Object.keys(myObject).map(function(key) { return myObject[key]; });
// myArray = [ 'a', 'b' ];
答案 2 :(得分:0)
var currentVersion = {/ literal} {$ displayedVersion} {literal}; var jsonObj = eval('('+ {/ literal} {$ json} {literal} +')');