C#如何实现JSON与对象之间互相转换功能示例
导读:收集整理的这篇文章主要介绍了C#如何实现JSON与对象之间互相转换功能示例,觉得挺不错的,现在分享给大家,也给大家做个参考。这篇文章主要介绍了C#实现JSON和对象之间互相转换功能,结合实例形式较为详细的分析了C#实现对象与json之间相互...
收集整理的这篇文章主要介绍了C#如何实现JSON与对象之间互相转换功能示例,觉得挺不错的,现在分享给大家,也给大家做个参考。这篇文章主要介绍了C#实现JSON和对象之间互相转换功能,结合实例形式较为详细的分析了C#实现对象与json之间相互转换的操作技巧,需要的朋友可以参考下本文实例讲述了C#实现JSON和对象之间互相转换功能。分享给大家供大家参考,具体如下:
1.首先是声明用户信息对象,DataContract修饰类,表示可以被解析成JSON,Datamember修饰属性,Order表示 解析的顺序,另外Lover是数组列表,表示女朋友个数
Address 表示送货地址,DailyRecord 表示日常记录
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Runtime.Serialization; namespace Functiontest.Model{ [DataContract] public class UserInfo { [DataMember(Order =0)] public string UserName { get; set; } [DataMember(Order = 1)] public int Age { get; set; } [DataMember(Order = 2)] public int Gender { get; set; } [DataMember(Order =3)] public Liststring> Lover { get; set; } [DataMember(Order = 4)] public ContactAddress Address { get; set; } [DataMember(Order = 5)] public Dictionarystring, string> DailyRecord { get; set; } } [DataContract] public class ContactAddress { [DataMember(Order =0)] public string PRovince { get; set; } [DataMember(Order = 1)] public string CITy { get; set; } [DataMember(Order = 2)] public string Country { get; set; } [DataMember(Order = 3)] public string Details { get; set; } } }
2.JSON帮助类 核心代码
/// summary> /// Json转换成对象/// /summary> /// tyPEparam name="T"> /typeparam> /// param name="jsonText"> /param> /// returns> /returns> public static T JsonToObjectT> (string jsonText){ DataContractJsonSerializer s = new DataContractJsonSerializer(typeof(T)); MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonText)); T obj = (T)s.ReadObject(ms); ms.Dispose(); return obj; } /// summary> /// 对象转换成JSON/// /summary> /// typeparam name="T"> /typeparam> /// param name="obj"> /param> /// returns> /returns> public static string ObjectToJSONT> (T obj){ DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T)); string result = string.Empty; using (MemoryStream ms = new MemoryStream()) { serializer.WriteObject(ms, obj); ms.Position = 0; using (StreamReader read = new StreamReader(ms)) { result = read.ReadToEnd(); } } return result; }
3.调用
//1.对象--> JSONUserInfo info = new UserInfo{ Age = 10, Gender = 1, UserName = "刘德华", Lover = new Liststring> { "美女1", "美女2", "美女3" } , Address = new ContactAddress { Province = "湖南省", City = "长沙市", Country = "望城县", Details = "某旮旯快递找不到的地方" } , DailyRecord = new Dictionarystring, string> { { "星期一", "吃饭" } , { "星期二", "洗衣服" } , { "星期三", "好事情" } } } ; string JSON = ObjectToJSONUserInfo> (info);
4.反序列化后的结果
代码如下:
{ "UserName":"刘德华","Age":10,"Gender":1,"Lover":["美女1","美女2","美女3"],"Address":{ "Province":"湖南省","City":"长沙市","Country":"望城县","Details":"某旮旯快递找不到的地方"} ,"DailyRecord":[{ "Key":"星期一","Value":"吃饭"} ,{ "Key":"星期二","Value":"洗衣服"} ,{ "Key":"星期三","Value":"好事情"} ]}
以上就是C#如何实现JSON与对象之间互相转换功能示例的详细内容,更多请关注其它相关文章!
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: C#如何实现JSON与对象之间互相转换功能示例
本文地址: https://pptw.com/jishu/592765.html