2014-03-24 58 views
1

我相信有效的JSON不包含任何編碼信息(例如與XML相反)。這是對的嗎 ?它是否有任何「標準」編碼(例如utf-8)?我該如何處理JSON編碼?如何處理JSON編碼

回答

1

JSON RFC,第3節:

3.編碼

JSON內容應以Unicode編碼。默認編碼是UTF-8,編號爲 。

由於JSON文本的前兩個字符永遠是ASCII字符 [RFC0020],有可能確定一個八位組 流是否是UTF-8,UTF-16(BE或LE),或UTF- 32(BE或LE)通過在前四個八位字節中查找空值模式 。

 00 00 00 xx UTF-32BE 
     00 xx 00 xx UTF-16BE 
     xx 00 00 00 UTF-32LE 
     xx 00 xx 00 UTF-16LE 
     xx xx xx xx UTF-8 
1

你是對的。沒有編碼信息。但是也不需要它:

JSON表示JavaScript對象表示法。結論是,您可以直接從JSON文本創建JavaScript對象。

{"name":"value"} 

這將是一個有效的JSON文本文件。

以與陣列的一個例子:

{ 
    "employees": [ 
    { "firstName":"John" , "lastName":"Doe" }, 
    { "firstName":"Anna" , "lastName":"Smith" }, 
    { "firstName":"Peter" , "lastName":"Jones" } 
    ] 
} 

的JSON文本格式是語法上等同於該代碼創建JavaScript對象。

由於這種相似性,JavaScript程序可以使用內置的eval()函數並執行JSON數據來生成原生JavaScript對象,而不是使用解析器。

也見這裏:http://www.w3schools.com/json/