答案 0 :(得分:10)
是一个数组,只有在打印时才会打印括号。
看看这个有两个项目:http://jsfiddle.net/2z355/4/
它打印为123,456
,也没有括号。
el.innerHTML = JSON.parse('[123]'); // The one item: 123
el.innerHTML = JSON.parse('[123]')[0]; // First item of array: 123
el.innerHTML = JSON.parse('[123,456]') // Both values: 123,456;
el.innerHTML = JSON.parse('[123,456]')[0] // First item: 123;
还
el.innerHTML = typeof JSON.parse('123'); // number
el.innerHTML = typeof JSON.parse('[123]'); // object *)
我原本期望'数组',但事实证明它是一个对象。也许我最近一直在PHPing太多。然而,这不是一个数字。 :) 幸运的是下一行将工作(感谢icktoofay)。
el.innerHTML = JSON.parse('[123]') instanceof Array; // true
答案 1 :(得分:6)
它是一个整数的数组;只是JavaScript的一个怪癖使得数组的字符串表示形式是由逗号连接的元素的字符串表示,没有[
和]
。
你知道这是一个数组,因为
result instanceof Array
JSON.stringify(result) === '[123]'