对jsonhelper类使用的纪录

本文介绍了一个coupon项目的JSON序列化与反序列化过程,包括如何处理字段为null的情况,以及在反序列化时如何进行异常处理。文中还探讨了JavaScriptSerializer和DataContractJsonSerializer的工作原理,并附带介绍了MemoryStream的相关知识。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

   因为最近在做一个coupon项目,给UI一个借口的字段需要使用json,所以只是简单使用了jsonHelper,反序列化的话,要过滤一下,不然很容易异常.

  

 List<Coupon> couponInfos = new List<Coupon>();
  // couponInfos.Add()···
  string coupnInfoStr = JsonHelper.JsonSerializer<List<Coupon>>(couponInfos);
 List<Coupon> couponJson = JsonHelper.JsonDeserialize<List<Coupon>>(coupnInfoStr);

  没有遇到什么MemoryStream内存溢出的问题,只是对里面的json化机制不怎么清楚,然后出了一些问题。如果couponInfos、coupon、coupon字段为null,相应json序列化也是null,而空List<>则为“[]”,空对象则为“{}”;反序列化的话,就一定要符合copon的字段,对于其它情况需要进行异常处理。

 

因为对JavaScriptSerializer的Serialize、DataContractJsonSerializer的ReadObject找不到源码查看,所以里面怎么处理也还是迷糊。

顺便了解了一下memorystream--http://msdn.microsoft.com/zh-cn/library/system.io.memorystream(v=vs.80).aspx

转载于:https://www.cnblogs.com/daihuiquan/archive/2012/10/20/2732794.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值