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