博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#JSON序列化与反序列化
阅读量:6931 次
发布时间:2019-06-27

本文共 2270 字,大约阅读时间需要 7 分钟。

原文:

windows phone学习也有一段时间了,想要做一个新闻客户端练练手,于是就在网上找看有没有接口之类。在找到了热点热词新闻资讯API开放接口,接口提供的是JSON格式的数据,由于之前没用过JSON,于是就在网上各种查、技术讨论群上各种问......

废话不多说了,下面把我收获分享出来。望像我一样的小白少走弯路。

一个实体类

public  class NewsModel    {      public string Title { get; set; }      public string Times { get; set; }      public string Contents { get; set; }    }

 序列化方法

#region 对实体类进行json序列化        ///         /// 对实体类进行json序列化        ///         /// 实体类对象        /// 
json格式字符串
public static string ToJosnData(object item) { DataContractJsonSerializer serializer = new DataContractJsonSerializer(item.GetType()); string result = string.Empty; using (MemoryStream ms = new MemoryStream()) { serializer.WriteObject(ms, item); ms.Position = 0; using (StreamReader reader = new StreamReader(ms)) { result = reader.ReadToEnd(); } } return result; } #endregion
对实体类进行json序列化
List
ltModel = new List
(); ltModel.Add(new NewsModel { Title = "标题1", Contents = "内容1", Times = "2014-12--2" }); ltModel.Add(new NewsModel { Title = "标题2", Contents = "内容2", Times = "2014-12--2" }); ltModel.Add(new NewsModel { Title = "标题3", Contents = "内容3", Times = "2014-12--2" }); ltModel.Add(new NewsModel { Title = "标题4", Contents = "内容4", Times = "2014-12--2" }); ltModel.Add(new NewsModel { Title = "标题5", Contents = "内容5", Times = "2014-12--2" }); ltModel.Add(new NewsModel { Title = "标题6", Contents = "内容6", Times = "2014-12--2" }); string jsonstr=JsonHelper.ToJosnData(ltModel);

输出JSON字符串为:

 把JSON字符串序列为实体对象的方法是使用Newtonsoft.Json.dll,可以在官网下载http://json.codeplex.com/

引入命名空间以后,就很容易了

List
DeModel = new List
(); var root = JsonConvert.DeserializeObject
(jsonstr); foreach (var item in root) { DeModel.Add(new NewsModel { Title = item.Title, Contents = item.Contents, Times = item.Times }); }

这样就把JSON字符串反序列化为一个list集合了。

参考:http://stackoverflow.com/questions/8639421/json-parsing-in-windows-phone-7。

 

转载地址:http://iqpjl.baihongyu.com/

你可能感兴趣的文章
blackberry针对Microsoft Exchange综合介绍
查看>>
我的友情链接
查看>>
部署java后台运用
查看>>
CentOS使用CDROM作为yum的源
查看>>
解决fiddler无法抓取localhost数据的问题
查看>>
Linux运维不可不知的性能监控和调试工具
查看>>
Xamarin iOS编写第一个应用程序创建工程
查看>>
【2】iptables理解 - 总体印象
查看>>
Xamarin.Android编译CPU类型选择方式
查看>>
XAML数据绑定(Data Binding)
查看>>
服务器SSL/TLS快速检测工具TLLSSLed
查看>>
Ext分区文件恢复工具extundelete
查看>>
linux学习笔记
查看>>
redis 初级设置
查看>>
python类的方法
查看>>
Oracle 11gR2 RAC ohasd failed to start 解决方法
查看>>
动画的翻页功能
查看>>
我的友情链接
查看>>
springboot 入门教程(5) 基于ssm框架的crud操作(后台部分-附源码)
查看>>
js动画库 - velocity.js
查看>>