2000字范文,分享全网优秀范文,学习好帮手!
2000字范文 > C#如何实现JSON与对象之间互相转换功能示例

C#如何实现JSON与对象之间互相转换功能示例

时间:2023-07-06 02:08:31

相关推荐

C#如何实现JSON与对象之间互相转换功能示例

后端开发|C#.Net教程

javascript,csharp,.net

后端开发-C#.Net教程1.首先是声明用户信息对象,DataContract修饰类,表示可以被解析成JSON,DataMember修饰属性,Order表示 解析的顺序,另外Lover是数组列表,表示女朋友个数

空包网 php源码,修改密码失败Ubuntu,tomcat7w指定服务,安全微伴爬虫,php 多网站共用登陆,seo外国写手lzw

Address 表示送货地址,DailyRecord 表示日常记录

分享2个q群网页源码,ubuntu替换键盘映射,爬虫学开发吗,php时exit,SEO优化 兼职lzw

asp商城模板站源码下载,ubuntu网络桥接,微博爬虫文件,phpa php,韩语 瑞 seolzw

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 List Lover { get; set; } [DataMember(Order = 4)] public ContactAddress Address { get; set; } [DataMember(Order = 5)] public Dictionary 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帮助类 核心代码

/// /// /// /// public static T JsonToObject(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;}/// /// /// /// public static string ObjectToJSON(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 List { "美女1", "美女2", "美女3" }, Address = new ContactAddress {Province = "湖南省",City = "长沙市",Country = "望城县",Details = "某旮旯快递找不到的地方" }, DailyRecord = new Dictionary { { "星期一", "吃饭" }, { "星期二", "洗衣服" }, { "星期三", "好事情" } }};string json = ObjectToJSON(info);

4.反序列化后的结果

代码如下:

{"UserName":"刘德华","Age":10,"Gender":1,"Lover":["美女1","美女2","美女3"],"Address":{"Province":"湖南省","City":"长沙市","Country":"望城县","Details":"某旮旯快递找不到的地方"},"DailyRecord":[{"Key":"星期一","Value":"吃饭"},{"Key":"星期二","Value":"洗衣服"},{"Key":"星期三","Value":"好事情"}]}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。