json格式 笔记

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值