JSON in Code(转载)

有关于定义,描述之类的文字官方都有解释:http://json.org/json-zh.html

这次主题主要关于JSON的实际应用

 目录

  • JSON in Javascript
  • JSON in Asp.Net
  • LINQ to JSON
  • JSON Serialization
  • XML to JSON
  • Other Resources

  

1.JSON in Javascript

单列表


实际应用时,还可以把Name分为FirstName,LastName

{"UserID":01, "Name":{"FirstName":"Rico","LastName":"Rui"}, "Email":"rico◎hotmail.com"}

集合


 

2.JSON in Asp.Net

 
  

WebForm1.aspx.cs: (这里使用New Page方式,我们也可以使用httphandler方式(webForm1.ashx"))
 
  

 
  
    
 
  
            //{
// "channel": {
// "title": "Test Title",
// "description": "Set Data Using JObject",
// "item": [
// {
// "title": "Title Two",
// "description": "Description Two",
// "category": [
// "Json.NET",
// "CodePlex"
// ]
// },
// {
// "title": "Title One",
// "description": "Description One",
// "category": [
// "Json.NET",
// "LINQ"
// ]
// }
// ]
// }
//}
 
  
 
  

linq to Json 实际上就是linq to object
 

有关于序列化:

.NET Framewok 3.5也提供了JSON对象序列化和反序列化的类,System.Runtime.Serialization.Json 命名空间下的 DataContractJsonSerializer 类。

当然也可以使用JSon.Net中的Serializer

以下代码 使用DataContractJsonSerializer 类

定义实体

   

*Json 是在 Windows Communication Foundation (WCF) 中创建的 ASP.NET AJAX 服务所使用的默认数据格式。

所以定义实体会声明相关DataContract,DataMember的属性,

通过将 DataContract 附加到类并将 DataMember 属性附加到要序列化的成员,为DataEntity定义数据协定。

 

(反)序列化代码

       

序列化工作结束。以下演示如何

使用(反)序列化的数据或对象

获取数据 CODE—> Page

Page:

<script language="javascript" type="text/javascript">

 
CodeFile:
  

返回结果

{"name":"Name","value":01}

 

设置数据 Page—>Code

Page:

<script src="json2.js" type="text/javascript"></script>

 

<script language="javascript" type="text/javascript">

 
CodeFile:
 
  
 

参考:xml2json

image

 

6.其他资源:

 

首先所有 enum 成员都是可序列化的,然后序列化Enum值时,一般只会生成数字 
如:
 
JSON 格式不直接支持日期和时间,为了解决问题微软也有处理方案,如下
 
资源参考:
微软ASP.NET AJAX中日期类型的JSON处理
Json 的日期格式与.Net DateTime类型的转换

json2.js 不能反序列化时间属性问题

 

代码:

 

3.JsonCache

Json客户端Cache提高Web性能

转载于:https://www.cnblogs.com/guttersnipe/archive/2009/10/12/1581546.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值