C#如何对Json进行序列化和反序列化
发表于:2024-12-13 作者:千家信息网编辑
千家信息网最后更新 2024年12月13日,这篇"C#如何对Json进行序列化和反序列化"文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看
千家信息网最后更新 2024年12月13日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安全错误
数据库的锁怎样保障安全
网络安全周天空卫士
2018网络安全宣传周主
jdbc创建数据库连接线程卡死
初中关于网络安全广播稿
软件开发教学工具
魂三服务器关闭开挂
hmdb数据库怎么使用炎症
网络安全校园主题日是哪天
春节前网络安全巡检
linux安装samba服务器
网络技术导图
计算机网络技术专业需要学英语
域服务器ntp
评价一种具体软件开发特征
天幻网络技术公司
如何登录局域网内的共享服务器
浙江服务器采购电话
安卓上的数据库文件
rup软件开发生命周期工作流
软件开发人工费如何做账
网络安全周天空卫士
军工企业网络安全威胁
网络安全校园主题日是哪天
福建crm软件开发排行
在万方数据库打印论文检索
软件开发绩效可以拿多少奖金
香港转国内服务器vpn
为什么链接数据库链接不上
2017年陕西网络安全
服务器多屏显示器