2011-04-05 56 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。