我在MySql db中存储了一个2d数组
[["c0"]["33925"],["c1"]["39280"],["c2"]["34079"],["c3"]["34091"],["c4"]["34108"]]
我想将其转换为javascript数组。
我正在使用php页面使用xmlhttp.responseText
;
获取数组,但我无法用它做任何事情;
var layoutArray = new Array();
layoutArray = xmlhttp.responseText;
alert(layoutArray[0][0]);
答案 0 :(得分:2)
尝试评估数组,因为你得到一个字符串:
layoutArray = eval(xmlhttp.responseText);
通常,您应该避免使用eval
,尤其是当您运行eval
的数据来自您的用户时。但是,如果只有您可以篡改此值,则eval
是安全的。
答案 1 :(得分:0)
我将数组存储为一个JSON字符串,如feeela所说。
var layoutArray = {"c0":"33925","c1":"39280","c2":"34079","c3":"34091","c4":"34108"}
for (key in layoutArray){
console.log(layoutArray[key])
}
答案 2 :(得分:0)
在将其放入数据库之前使用serialize
,在解压缩时使用unserialize
。你将拥有你的json结构而不在客户端使用eval。
答案 3 :(得分:0)
如果您使用PHP脚本发回结果,并且"必须"将数据存储为数组而不是JSON,我只需json_encode数组并返回:
$array = array("1" => "PHP code tester Sandbox Online",
"foo" => "bar", 5 , 5 => 89009,
"case" => "Random Stuff");
echo json_encode($array)