C# .net中json字符串和对象之间的转化方法
json作为作为一种最常用的数据,应用很广泛,在.net中如何把一个对象转化为json字符串呢?
主要有一下几种
1按照json的定义自己转化,难度很大,但很灵活。需要自己处理各种特殊字符,各种数据类型
2使用开源的类库Newtonsoft.Json
3使用JavaScriptSerializer类
4使用System.Runtime.Serialization.dll提供的DataContractJsonSerializer或者 JsonReaderWriterFactory实现。
1按照json的定义自己转化,难度很大,但很灵活。需要自己处理各种特殊字符,各种数据类型
要写成通用的核心就是使用反射。
2使用开源的类库Newtonsoft.Json,很方便,.net的各个版本都有。
- /// <summary>
- /// 对象转为json
- /// </summary>
- /// <typeparam name="ObjType"></typeparam>
- /// <param name="obj"></param>
- /// <returns></returns>
- public static string ObjToJsonString<ObjType>(ObjType obj) where ObjType : class
- {
- string s = JsonConvert.SerializeObject(obj);
- return s;
- }
- /// <summary>
- /// json转为对象
- /// </summary>
- /// <typeparam name="ObjType"></typeparam>
- /// <param name="JsonString"></param>
- /// <returns></returns>
- public static ObjType JsonStringToObj<ObjType>(string JsonString) where ObjType : class
- {
- ObjType s = JsonConvert.DeserializeObject<ObjType>(JsonString);
- return s;
- }
3JavaScriptSerializer类 ,使用.NET Framework 3.5/4.0中提供的System.Web.Script.Serialization命名空间下的JavaScriptSerializer类进行对象的序列化与反序列化。需要添加程序集System.Web.Extensions.dll。
- /// <summary>
- /// 对象转为json
- /// </summary>
- /// <typeparam name="ObjType"></typeparam>
- /// <param name="obj"></param>
- /// <returns></returns>
- public static string ObjToJsonString<ObjType>(ObjType obj) where ObjType : class
- {
- JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
- string s = jsonSerializer.Serialize(obj);
- return s;
- }
- /// <summary>
- /// json转为对象
- /// </summary>
- /// <typeparam name="ObjType"></typeparam>
- /// <param name="JsonString"></param>
- /// <returns></returns>
- public static ObjType JsonStringToObj<ObjType>(string JsonString) where ObjType : class
- {
- JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
- ObjType s = jsonSerializer.Deserialize<ObjType>(JsonString);
- return s;
- }
4使用System.Runtime.Serialization.dll提供的DataContractJsonSerializer或者 JsonReaderWriterFactory实现。
具体参考:http://www.cnblogs.com/txw1958/archive/2012/08/01/csharp-json.html
出处:https://blog.csdn.net/xuexiaodong009/article/details/46998069
转载于:https://www.cnblogs.com/mq0036/p/9411408.html
C# .net中json字符串和对象之间的转化方法相关推荐
- JSON字符串和对象之间的转换
使用jackSON来实现JSON字符串和对象之间的转换 引入maven <!--jackson--><dependency><groupId>com.fasterx ...
- c#谷歌 json转对象_利用Google Gson实现JSON字符串和对象之间相互转换
最近一个项目需要用到JSON,需要在JSON字符串和对象之间相互转换,在网上找了些资料,发现google的Gson还是比较不错的. 废话不说,下面是简单的例子: 先上源码:下载(包含jar包) Per ...
- php怎么字符串转成json对象_php中json字符串转换为对象?
在PHP中,可以使用json_decode()函数来将json字符串转换为PHP对象.json_decode()函数用于解码JSON字符串,把json字符串转成对象或数组,默认转成对象:设置函数的第二 ...
- 使用fastjson工具类json字符串和对象之间的转换
文章目录 一.引入依赖 二.创建user实体类 三.测试 一.引入依赖 <!--字符串和对象操作工具类 Start--><dependency><groupId>c ...
- jQuery 中json字符串与对象互转
json字符串转json对象:jQuery.parseJSON(jsonStr); json对象转json字符串:JSON.stringify(jsonObj); 转载于:https://www.cn ...
- jfinal中json字符串转对象类
String json = getRawData(); User user = FastJson.getJson().parse(json, User.class);
- java中将json字符串_Java中JSON字符串与java对象的互换实例详解
在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...
- Java中JSON字符串与java对象的互换实例详解
这篇文章主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JS ...
- java字符串转json取集合_Java中Json字符串直接转换为对象的方法(包括多层List集合)...
使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-b ...
最新文章
- react遇到的各种坑
- 如何建设一个适配“百度轻舟计划”的移动站
- NR 5G 运营发布
- python课程是学什么的-机器学习最好的课程是什么?
- 1155 Heap Paths (30 分)【难度: 一般 / 知识点: 堆 堆的遍历】
- Codeforces 494Div3(ABCDJava编写)
- application time for the banking industry
- cocos cr躲避类游戏的暂停、继续、重新开始_社团班级团建游戏活动安排
- Spring Security——SessionManagement中InvalidSessionStrategy自定义——简单跳过Fitter过滤刷新Session
- c#推箱子小游戏代码_推箱子小游戏V1.0制作
- 四足爬行机器人运动_有自我意识机器人横空出世,还能自我复制,专家表示需警惕其失控...
- vue文件里在style的样式需要什么loader_Vue学习笔记之Webpack中css、less、图片等文件处理...
- Centos6.8操作防火墙
- vue 报错 :属性undefined(页面成功渲染)
- 土地调查图斑编号_土地年度变更调查“图斑类型”说明
- FlashMX2004组件事件简单调试器
- 黄永成think php rest,Rest控制器
- 实践小笔记(1) --- DBSCAN
- 今天吃什么随机网页_初秋应该多吃什么水果?饮食禁忌有哪些?今天燕多多跟你一起探究...
- vscode配置和快捷键
热门文章
- eix安装_Windwos U盘PE制作与系统安装
- 不同类的方法 事务问题_深入理解 Spring 事务原理
- mysql 字符串 空格函数_mysql中的去除空格函数
- 裸奔浏览器_大概是最好用的隐私浏览器 - Firefox Focus
- php视频录制插件,Chrome浏览器录屏扩展插件
- matlabfor循环语句举例_笨办法学python(七)条件、选择和循环
- ccls提示找不到文件
- 开发日记-20190827 关键词 计算机网络
- (转载)linux下的find文件查找命令与grep文件内容查找命令
- CNN tflearn处理mnist图像识别代码解说——conv_2d参数解释,整个网络的训练,主要就是为了学那个卷积核啊。...