2014-03-24 61 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/