C#如何对Json进行序列化和反序列化
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇"C#如何对Json进行序列化和反序列化"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看
千家信息网最后更新 2026年11月03日C#如何对Json进行序列化和反序列化
这篇"C#如何对Json进行序列化和反序列化"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇"C#如何对Json进行序列化和反序列化"文章吧。
一、Json简介
Json(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于JS的一个子集。 Json采用完全独立于语言的文本格式。这使得Json成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成。
Json简单来说就是JS中的对象和数组,所以Json也存在两种结构:对象、数组。
Json对象:Json对象定义在花括号"{}"内,以Key:value键值对的形式存放数据,多个数据使用分号";"分割。
二、序列化
Object obj = Serialization.JsonToObject
三、反序列化
strJson = Serialization.ObjectToJSON(obj);
四、工具类
public static class Serialization { public static T JsonToObject(string jsonText) { DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(T)); MemoryStream memoryStream = new MemoryStream(Encoding.UTF8.GetBytes(jsonText)); T result = (T)((object)dataContractJsonSerializer.ReadObject(memoryStream)); memoryStream.Dispose(); return result; } public static string ObjectToJSON(T obj) { DataContractJsonSerializer dataContractJsonSerializer = new DataContractJsonSerializer(typeof(T)); string result = string.Empty; using (MemoryStream memoryStream = new MemoryStream()) { dataContractJsonSerializer.WriteObject(memoryStream, obj); memoryStream.Position = 0L; using (StreamReader streamReader = new StreamReader(memoryStream)) { result = streamReader.ReadToEnd(); } } return result; } } JSONStrToList
自定义模型
public class Obj { public string Name { get; set; } public double Price { get; set; } }JSONStrToList
//json转对象、数组, 反序列化 public static void JSONStringToList() { //json格式字符串 string JsonStr = "{Name:'苹果',Price:5.5}"; JavaScriptSerializer Serializer = new JavaScriptSerializer(); //json字符串转为对象, 反序列化 Obj obj = Serializer.Deserialize(JsonStr); Console.Write(obj.Name + ":" + obj.Price + "\r\n"); //json格式字符串 string JsonStrs = "[{Name:'苹果',Price:5.5},{Name:'橘子',Price:2.5},{Name:'柿子',Price:16}]"; JavaScriptSerializer Serializers = new JavaScriptSerializer(); //json字符串转为数组对象, 反序列化 List objs = Serializers.Deserialize>(JsonStrs); foreach (var item in objs) { Console.Write(item.Name + ":" + item.Price + "\r\n"); } }
StrTosJSON
public static JObject strToJson(string jsonText) { jsonText = "{\"shenzheng\":\"深圳\",\"beijing\":\"北京\",\"shanghai\":[{\"zj1\":\"zj11\",\"zj2\":\"zj22\"},\"zjs\"]}"; JObject jo = (JObject)JsonConvert.DeserializeObject(jsonText); //或者 //JObject jo = JObject.Parse(jsonText); string zone = jo["shenzheng"].ToString();//输出 "深圳" string zone_en = jo["shanghai"].ToString();//输出 "[{"zj1":"zj11","zj2":"zj22"},"zjs"]" string zj1 = jo["shanghai"][1].ToString();//输出 "zjs" Console.WriteLine(jo); return jo; }以上就是关于"C#如何对Json进行序列化和反序列化"这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注行业资讯频道。
序列
对象
内容
字符
字符串
数据
数组
格式
C#
输出
就是
文章
知识
篇文章
苹果
语言
深圳
价值
分号
同时
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网络科技
上海喔噻互联网科技有限公司
深圳九邦互联网科技有限公司
华服互联网科技怎么样
厦门中拓互联网络科技有限公司
互联网科技资迅
关于新基建和互联网科技
科技制造互联网公司
互联网科技英文
西安互联网科技公司
北京禾田雨橡互联网科技
乌鲁木齐新华智原互联网科技学校
互联网企业科技类企业如何做账
启辰互联网科技
互联网时代科技型公司的机会
科技信息时代互联网发展
互联网科技博主张洲
北京品多多互联网科技有限公司
互联网科技大会大佬
株洲百竞科技的互联网营销顾问
互联网科技有限公司
西安纸贵互联网科技有限公司
互联网女皇 腾讯科技
西藏七维空间互联网科技有限公司
互联网保险科技创业
工业互联网展湾科技股份有限公司
互联网科技圈年度人物
浙南科技城互联网大厦招聘
互联网科技手抄报图片
互联网科技创新创业项目