C#如何对Json进行序列化和反序列化
发表于:2025-01-19 作者:千家信息网编辑
千家信息网最后更新 2025年01月19日,这篇"C#如何对Json进行序列化和反序列化"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看
千家信息网最后更新 2025年01月19日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安全错误
数据库的锁怎样保障安全
汉字开头如何识别数据库
软件开发做什么行业好
保护网络安全的文章
锐捷轻云终端云服务器地址
泗阳多功能网络技术参考价格
阴阳师转移角色可以换服务器吗
服务器ssl
03140数据库技术
网络安全审批表
学习数据库的实验小结
网络安全的利与弊正方
电钢琴软件开发
西奥调试服务器及按建说明
杭州笨马科技网络技术有限公司
青岛海捷软件开发
联合目录是不是书目数据库
网络技术课程简介
违反网络安全法已备案
高校网络安全假期
网络安全及其防范试题
串口通讯服务器多少钱
虎哥网络技术工作室
pg数据库查找表的分布键
服务器管理卡重置密码
增城服务器运维服务找哪家
保障儿童网络安全征文
中国造服务器有那个公司
北京辉哥网络技术公司
青岛海捷软件开发
院网络安全部