.NET 2.0 使用最新版的JSON.net 进行反序列化
来源:互联网 发布:学生淘宝兼职 编辑:程序博客网 时间:2024/05/18 00:36
大家知道 JSON.net 最新版是基于.net 3.5 框架的,要如何使其工作在 .NET 2.0框架下呢,当然是GOOGLE + baidu 啦,幸不辱命,终于在一篇英文的博客中找到了解决方法,地址如下:http://james.newtonking.com/archive/2009/08/02/net-2-0-support-added-to-json-net.aspx
这篇文章的大概意思就是 首选 下载最新版的JSON.NET 源码 (http://json.codeplex.com/),然后解压,SRC目录是其源码,我们打开Newtonsoft.Json.Net20.sln,这个是.NET 2.0的解决方案,然后编译,很顺利的就通过了,反正我是没遇啥特殊情况。编译完成后在 bin\Release 目录中你会看到一个名为DotNet20 的目录,很显然这个JSON.net 的源码做的相当不错,已经为我们写好了在.NET2.0下运行的方法。你会发现这里边多了一个DLL文件(LinqBridge.dll),这个是做什么用的呢? 在那编老外写的文章中介绍说是在.NET2.0框架下的LINQ,反正我对这个LINQ也不怎么熟,没有管,说这个组件有用就有用吧,接下来COPY LinqBridge.dll 和Newtonsoft.Json.Net20.dll 到 Json35r8\Source\TOOLS\ILMerge 中。还差最后一步。打开CMD 窗口 运行如下命令:
ilmerge.exe /internalize /out:Newtonsoft.Json.Net20.Merged.dll Newtonsoft.Json.Net20.dll LinqBridge.dll
这样会将两个DLL 合并为一个DLL,在程序中将合并后的DLL引入,就可以使用最新版的JSON.NET 了
以下json.net 实例代码网址:http://www.java2s.com/Open-Source/CSharp/Development/Json.NET/Newtonsoft/Json/Tests/Serialization/JsonSerializerTest.cs.htm
我的反序列化代码:
代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->public static IList<SearchResult> GetSearchList(string jsons) { // get JSON result objects into a list JObject o = (JObject)JsonConvert.DeserializeObject(jsons); JToken torrentsArray = (JToken)o["rules"]; // serialize JSON results into .NET objects IList<SearchResult> searchResults = new List<SearchResult>(); SearchResult c = null; foreach (JToken result in torrentsArray) { c = new SearchResult(); c.SearchField = result.SelectToken("field").ToString().Replace("\"",""); c.searchString = result.SelectToken("data").ToString().Replace("\"", ""); c.SearchOper = result.SelectToken("op").ToString().Replace("\"", ""); //Criterion searchResult = JsonConvert.DeserializeObject<Criterion>(result.ToString()); searchResults.Add(c); } return searchResults; }
json:
{"aaa":"bbbb","rules":[{"field":"xxxx","data":"ooooo","op":"lt"},{"field":"xxxx","data":"ooooo","op":"gt"},{"field":"xxyxx","data":"ooooo","op":"lte"}]}
结束了,不明白的回贴了
http://www.cnblogs.com/hxling/archive/2010/09/15/1826797.html
PS: 以下由【吕津】编辑:
- .NET 2.0 使用最新版的JSON.net 进行反序列化
- .NET进行Json的序列化和反序列化
- Json.NET使用入门(四)【复杂Json反序列化】
- ASP.NET:使用Newtonsoft.Json序列化和反序列化JSON对象的例子
- .net中反序列化json对象方法(使用Dynamic)
- Json.NET使用入门(二)【反序列化】
- Json 反序列化 .net 日期
- net json 反序列化数组
- ASP.NET的JSON序列化与反序列化
- .Net中反序列化Json字符串的最佳方法
- Json.NET 应使用的序列化和反序列化
- .Net使用Newtonsoft.Json.dll(JSON.NET)对象序列化成json、反序列化json示例教程
- 在.NET中对JSON进行序列化与反序列化
- .NET中JSON数据进行序列化和反序列化
- .NET中JSON数据进行序列化和反序列化
- 在MVC中使用Json.Net序列化和反序列化Json对象
- 使用Newtonsoft.Json进行JSON反序列化操作
- 使用net.sf.json库进行json反序列化时存在的问题
- 【热门收藏啦】Windows Phone开发人员必看资料 ...
- 15周项目三:带姓名的成绩单。
- C#调用MD5
- 系统设备的枚举(DirectShow)
- mysql获取系统当前的数字形式时间值
- .NET 2.0 使用最新版的JSON.net 进行反序列化
- uva 11636 - Hello World!(规律)
- UVA 11729 Commando War
- 【热门收藏】iOS开发人员必看的精品资料(100个) ...
- 编译器gcc的常用选项
- visual studio快捷键大全
- Web攻防系列教程之跨站脚本攻击和防范技巧详解
- 开始使用Mac OS X——写给Mac新人
- 【50个最受网友欢迎的HTML5资源下载列表】