var arr = [1,2,3,4];
console.log(arr.toString()); // 1,2,3,4
arr.toString()是將數組轉化成字符串,因此不帶 [ ]
alert(JSON.stringify(arr));
console.log(JSON.stringify(arr)); // [1,2,3,4]
而JSON.stringify(arr)是從一個對象解析出JSON字符串,是帶[]的
eg:
js中
CACHEARR arr
var listArr = window.JSON.stringify(CACHEARR);
=>string ["97400923484918563","97400923484918559","97400923484327859"]
window.location.href= ('./pickList.php?listArr='+listArr);
php中
$listArr = $_GET['listArr'];
df($listArr);
string
'["97400923484918563","97400923484918559","97400923484327859"]' (length=61)
$array = json_decode($listArr);
df($array);die;
array (size=3)
0 => string '97400923484918563' (length=17); 1 => string '97400923484918559' (length=17); 2 => string '97400923484327859' (length=17)
另外JSON.parse() 是用於從一個字符串中解析出json對象
var str = '{"name":"huangxiaojian","age":"23"}'
結果:
JSON.parse(str)
Object
- age: "23"
- name: "huangxiaojian"
- __proto__: Object