2011-04-05 61 views
2

我一直在寻找我的数据库,并有在那里的jQuery已经被用来制造一个JSON字符串地方:jQuery的JSON字符串与PHP json_encode

{"0":"33"} 

然后,我看到的地方,那里有来自PHP做JSON字符串像json_encode:

["News"," world news"," latest news"] 

执行括号与括号有所作为?

+0

http://json.org/ – 2011-04-05 15:22:48

+0

如果这里的jQuery的? – 2011-04-05 15:30:17

回答

4

[]用于创建一个简单的数组,其中{}在这种情况下创建一个像关联数组一样使用的“对象”。

的第一示例中的值33分配到索引为0,但可以使用任何东西作为索引。在第二个示例中,您正在创建一个数字索引数组。

+2

Javascript没有关联数组。第一个是一个对象。 – 2011-04-05 15:33:31

+0

@Tomalak严格来说,你也不能称之为一个对象。但是对象可能比hashmap或关联数组好。 – krtek 2011-04-05 15:35:31

+0

为什么不呢? [就是这样。](http://www.quirksmode.org/js/associative.html) – 2011-04-05 15:37:20

2

第一个是一个关联数组(键 - 值对,0是关键,33是的值)。第二个例子是一个包含3个职位的列表。它们都被JSON“串化”,但是是不同的数据结构。

+1

Javascript没有关联数组。第一个是一个对象。 – 2011-04-05 15:32:27

+0

维基百科:关联数组(也关联容器,地图,映射,字典,有限地图,并在查询处理的索引或索引文件)是唯一的密钥的集合和值的集合组成的抽象数据类型。即使它不是官方的Javascript名称,它也是数据结构明智的一个关联数组。 – tiagoboldt 2011-04-05 15:43:56

+0

但该定义并不严格映射到Javascript对象。对象类似于模拟关联数组的概念,但它们不是相同的。 – 2011-04-05 15:47:17

0

如上面所说的,在JSON所不同的是:

[]是阵列,仅接受值

{}是对象,同时接受键和值

它们可以一起作为要合成如下:

var contact = { 
    "Name": "John Doe", 
    "PermissionToCall": true, 
    "PhoneNumbers": [ 
     { 
      "Location": "Home", 
      "Number": "555-555-1234" 
     }, 
     { 
      "Location": "Work", 
      "Number": "555-555-9999 Ext. 123" 
     } 
    ] 
}; 

所以下次你能弄清楚如何自己编写它:d

3
{"0":"33"} 

这是代表一个Object一个元素,它的关键是"0",其答案是"33"文字。

["News"," world news"," latest news"] 

这是表示一个Array具有三个元素,其值是纯的代码,以查看文字。

jQuery有什么用它做。这是Javascript语法,这就是为什么JSON代表JavaScript Object Notation。