经过长时间学习JSON,于是和大家分享一下,看完本文你肯定有不少收获,希望本文能教会你更多东西。学习JSON时,你可能会遇到JSON问题,这里将介绍JSON问题的解决方法,在这里拿出来和大家分享一下。
但是在编辑的时候,虽然是成功了,但是发现有2个警告,由于本人写程序一直都是尽自己***努力来保证所写程序的警告数量最少,所以,当然要看看这两个警告到底是什么东东。警 告 是:“System.Web.Script.Serialization.JavaScriptSerializer.JavaScriptSerializer()” 已过时:“The recommended alternative is System.Runtime.Serialization.DataContractJsonSerializer.”#t#
记得刚开始学习ASP.NET的时候,在用AppSettings的时候(具体哪个方法记不清了)也出现过类似的警告,***是用ConfigurationManager代替就没有出现过该警告了,那这次应该也差不多吧。于是到MSDN看看是怎么回事。没弄明白,再到CSDN看看呢。还是没弄明白,***,求助一下Google。NND,折腾了半天,还是不知道到底是什么回事。
用学习JSON来代替吧,但是又少了对“System.Runtime.Serialization”的引用,把引用添加上吧,还是没有编译通过。一直不知道是怎么回事,***,幸运的Google到一个Demo,也是用“DataContractJsonSerializer”来代替上诉过时警告的。SCOTT大作中末尾Note给出的链接。总算是明白怎么回事了。解决步骤如下:
首先,添加两个DLL的引用,分别是:System.Runtime.Serialization.dll、System.ServiceModel.Web.dll。添加完引用之后,在cs代码页中添加using语句,如下:
- using System;
- using System.Web.Script.Serialization;
- namespace Demo
- {
- ///
- /// JSON帮助类
- ///
- public static class JsonHelper
- {
- ///
- /// 格式化成Json字符串
- ///
- /// name="obj">需要格式化的对象
- ///
Json字符串 - public static string ToJson(object obj)
- {
- JavaScriptSerializer serializer = new JavaScriptSerializer();
- return serializer.Serialize(obj);
- }
- ///
- /// 格式化成Json字符串
- ///
- /// name="obj">需要格式化的对象
- /// name="recursionDepth">指定序列化的深度
- ///
Json字符串 - public static string ToJson(object obj, int recursionDepth)
- {
- JavaScriptSerializer serializer = new JavaScriptSerializer();
- serializer.RecursionLimit = recursionDepth;
- return serializer.Serialize(obj);
- }
- }
上一篇:千兆以太网交换机发布瞬间成为新宠
下一篇:对于Linux磁带机的简单操作