JSON (Javascrīpt Object Notation)
优点:
1. 数据格式比较简单, 易于读写, 格式都是压缩的, 占用带宽小
2. 易于解析这种语言, 客户端Javascrīpt可以简单的通过eval()进行JSON数据的读取
3. 支持多种语言, 包括Actionscrīpt, C, C#, ColdFusion, Java, Javascrīpt, Perl, PHP, Python, Ruby等语言服务器端语言, 便于服务器端的解析
4. 在PHP世界, 已经有PHP-JSON和JSON-PHP出现了, 便于PHP序列化后的程序直接调用. PHP服务器端的对象、数组等能够直接生JSON格式, 便于客户端的访问提取.
另外PHP的PEAR类已经支持 (http://pear.php.net/pepr/pepr-proposal-show.php?id=198)
5. 因为JSON格式能够直接为服务器端代码使用, 大大简化了服务器端和客户端的代码开发量, 但是完成的任务不变, 且易于维护
缺点:
没有XML格式深入人心和使用广泛, 没有XML那么通用性
xml和son的对比:
xml:
<menu id="file" value="File" >
<popup>
<menuitem value="New" onclick="CreateNewDoc()" />
<menuitem value="Open" onclick="OpenDoc()" />
<menuitem value="Close" onclick="CloseDoc()" />
</popup>
</menu>
son:
{"menu": {
"id": "file",
"value": "File:",
"popup": {
"menuitem": [
{"value": "New", "onclick": "CreateNewDoc()"},
{"value": "Open", "onclick": "OpenDoc()"},
{"value": "Close", "onclick": "CloseDoc()"}
]}
}}
以上可见:
1。对象object包含在{}中,
2。对象的属性member使用string : value 成对出现,属性与属性之间用逗号隔开,
3。数组array在[]中,如:[ elements ]
4。元素elements与元素之间用逗号隔开 elements , elements
5。元素值可具有的类型:string, number, object, array, true, false, null
应用范围;
JSON主要用在AJAX中,由于在客户端使用JavaScript脚本,故使用JSON,将使得进程的响应变得更快
如何在asp中组织json
很多语言支持json的编码和解码。php5.2以上,ruby等皆有对应的处理,在asp中需要自己去写,幸好网上有很多例子,
下面也列出一个asp把array数组组织到json的例子。
'root json 数据名 Function json_encode(root , arr_data) If root = "" Then root = "root" str_Head = "{" & Chr(13) & Chr(9) & Chr(9) & root & ":{ " & Chr(13) & Chr(9) & Chr(9) &Chr(9) & Chr(9) & "arrs:[ " & Chr(13) str_Body = chr(9) & chr(9) & chr(9) & chr(9) & chr(9) & "{" str_End = "}" & Chr(13) & chr(9) & chr(9) & chr(9) & chr(9) & "]" & chr(13) & chr(9) & chr(9) & "}" &chr(13) & "}" for i = 0 to ubound(arr_data) - 1 str_Body = str_Body & chr(34) & i & chr(34) &":" ' name str_Body = str_Body & chr(34) & arr_data(i) & chr(34) & "," 'value Next '去除记录最后一个字段后的"," str_Body = left(str_Body,instrrev(str_Body,",")-1) json_encode = str_Head & str_Body + str_End End Function |