收藏本站 收藏本站
积木网首页 - 软件测试 - 常用手册 - 站长工具 - 技术社区
积木学院 > 网页设计 > XML > 正文

详细说明JSON字符串的使用和维护工作

来源:互联网 日期:2013-03-22 11:30

最近研究学习JSON字符串,前者用到的数据内容基本上都是JSON字符串,遂想写一个格式化数据成JSON的东东,在网上找了一下,发现还蛮多的,实现了一个类似于ToString()的方法:

  1. using System;  
  2. using System.Web.Script.Serialization;  
  3.  
  4. namespace Demo  
  5. {  
  6. /// <summary> 
  7. /// JSON帮助类  
  8. /// </summary> 
  9.     public static class JsonHelper  
  10. {  
  11. /// <summary> 
  12. /// 格式化成Json字符串  
  13. /// </summary> 
  14. /// <param name="obj">需要格式化的对象</param> 
  15. /// <returns>Json字符串</returns> 
  16.         public static string ToJson(object obj)  
  17. {  
  18. JavaScriptSerializer serializer = new JavaScriptSerializer();  
  19. return serializer.Serialize(obj);  
  20. }  
  21.  
  22. /// <summary> 
  23. /// 格式化成Json字符串  
  24. /// </summary> 
  25. /// <param name="obj">需要格式化的对象</param> 
  26. /// <param name="recursionDepth">指定序列化的深度</param> 
  27. /// <returns>Json字符串</returns> 
  28.         public static string ToJson(object obj, int recursionDepth)  
  29. {  
  30. JavaScriptSerializer serializer = new JavaScriptSerializer();  
  31. serializer.RecursionLimit = recursionDepth;  
  32. return serializer.Serialize(obj);  
  33. }  

一字不漏的照打,应该没有问题吧(后来发现SCOTT大作末尾的Note,忘记看了,真是粗心啊~~~ *_*)!但是在编辑的时候,虽然是成功了,但是发现有2个警告,由于本人写程序一直都是尽自己最大努力来保证所写程序的警告数量最少,所以,当然要看看这两个警告到底是什么东东。

警 告 是:“System.Web.Script.Serialization.JavaScriptSerializer.JavaScriptSerializer()” 已过时:“The recommended alternative is System.Runtime.Serialization.DataContractJsonSerializer.”记得刚开始学习JSON字符串的时候,在用AppSettings的时候(具体哪个方法记不清了)也出现过类似的警告,最后是用ConfigurationManager代替就没有出现过该警告了,那这次应该也差不多吧。

于是到MSDN看看是怎么回事。没弄明白,再到CSDN看看呢。还是没弄明白,最后,求助一下Google。NND,折腾了半天,还是不知道到底是什么回事。用“DataContractJsonSerializer”来代替吧,但是又少了对“System.Runtime.Serialization”的引用,把引用添加上吧,还是没有编译通过。

一直不知道是怎么回事,最后,幸运的Google到一个Demo,也是用“DataContractJsonSerializer”来代替上诉过时警告的。SCOTT大作中末尾Note给出的链接。总算是明白怎么回事了。解决步骤如下:

  1. using System;  
  2. using System.IO;  
  3. using System.Runtime.Serialization.Json;  
  4.    

注:因为要用到Stream等东东,所以这里要添加上JSON字符串这个命名空间。


推荐阅读

 

热点信息

 
强悍的草根IT技术社区,这里应该有您想要的! 友情链接:b2b电子商务
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号