json作为作为一种最常用的数据,应用很广泛,在.net中如何把一个对象转化为json字符串呢?

主要有一下几种

1按照json的定义自己转化,难度很大,但很灵活。需要自己处理各种特殊字符,各种数据类型

2使用开源的类库Newtonsoft.Json

3使用JavaScriptSerializer类

4使用System.Runtime.Serialization.dll提供的DataContractJsonSerializer或者 JsonReaderWriterFactory实现。

 

1按照json的定义自己转化,难度很大,但很灵活。需要自己处理各种特殊字符,各种数据类型

要写成通用的核心就是使用反射。

2使用开源的类库Newtonsoft.Json,很方便,.net的各个版本都有。

  1. /// <summary>
  2. /// 对象转为json
  3. /// </summary>
  4. /// <typeparam name="ObjType"></typeparam>
  5. /// <param name="obj"></param>
  6. /// <returns></returns>
  7. public static string ObjToJsonString<ObjType>(ObjType obj) where ObjType : class
  8. {
  9. string s = JsonConvert.SerializeObject(obj);
  10. return s;
  11. }
  12. /// <summary>
  13. /// json转为对象
  14. /// </summary>
  15. /// <typeparam name="ObjType"></typeparam>
  16. /// <param name="JsonString"></param>
  17. /// <returns></returns>
  18. public static ObjType JsonStringToObj<ObjType>(string JsonString) where ObjType : class
  19. {
  20. ObjType s = JsonConvert.DeserializeObject<ObjType>(JsonString);
  21. return s;
  22. }

3JavaScriptSerializer类 ,使用.NET Framework 3.5/4.0中提供的System.Web.Script.Serialization命名空间下的JavaScriptSerializer类进行对象的序列化与反序列化。需要添加程序集System.Web.Extensions.dll。

  1. /// <summary>
  2. /// 对象转为json
  3. /// </summary>
  4. /// <typeparam name="ObjType"></typeparam>
  5. /// <param name="obj"></param>
  6. /// <returns></returns>
  7. public static string ObjToJsonString<ObjType>(ObjType obj) where ObjType : class
  8. {
  9. JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
  10. string s = jsonSerializer.Serialize(obj);
  11. return s;
  12. }
  13. /// <summary>
  14. /// json转为对象
  15. /// </summary>
  16. /// <typeparam name="ObjType"></typeparam>
  17. /// <param name="JsonString"></param>
  18. /// <returns></returns>
  19. public static ObjType JsonStringToObj<ObjType>(string JsonString) where ObjType : class
  20. {
  21. JavaScriptSerializer jsonSerializer = new JavaScriptSerializer();
  22. ObjType s = jsonSerializer.Deserialize<ObjType>(JsonString);
  23. return s;
  24. }

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字符串和对象之间的转化方法相关推荐

  1. JSON字符串和对象之间的转换

    使用jackSON来实现JSON字符串和对象之间的转换 引入maven <!--jackson--><dependency><groupId>com.fasterx ...

  2. c#谷歌 json转对象_利用Google Gson实现JSON字符串和对象之间相互转换

    最近一个项目需要用到JSON,需要在JSON字符串和对象之间相互转换,在网上找了些资料,发现google的Gson还是比较不错的. 废话不说,下面是简单的例子: 先上源码:下载(包含jar包) Per ...

  3. php怎么字符串转成json对象_php中json字符串转换为对象?

    在PHP中,可以使用json_decode()函数来将json字符串转换为PHP对象.json_decode()函数用于解码JSON字符串,把json字符串转成对象或数组,默认转成对象:设置函数的第二 ...

  4. 使用fastjson工具类json字符串和对象之间的转换

    文章目录 一.引入依赖 二.创建user实体类 三.测试 一.引入依赖 <!--字符串和对象操作工具类 Start--><dependency><groupId>c ...

  5. jQuery 中json字符串与对象互转

    json字符串转json对象:jQuery.parseJSON(jsonStr); json对象转json字符串:JSON.stringify(jsonObj); 转载于:https://www.cn ...

  6. jfinal中json字符串转对象类

    String json = getRawData(); User user = FastJson.getJson().parse(json, User.class);

  7. java中将json字符串_Java中JSON字符串与java对象的互换实例详解

    在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等,JSON作为一个轻量级的数据格式比xml效率要高,XML需要很多的标签,这无疑占据了网络流量,JSON在这方面则做的很好, ...

  8. Java中JSON字符串与java对象的互换实例详解

    这篇文章主要介绍了在java中,JSON字符串与java对象的相互转换实例详解,非常不错,具有参考借鉴价值,需要的朋友可以参考下 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JS ...

  9. java字符串转json取集合_Java中Json字符串直接转换为对象的方法(包括多层List集合)...

    使用到的类:net.sf.json.JSONObject 使用JSON时,除了要导入JSON网站上面下载的json-lib-2.2-jdk15.jar包之外,还必须有其它几个依赖包:commons-b ...

最新文章

  1. react遇到的各种坑
  2. 如何建设一个适配“百度轻舟计划”的移动站
  3. NR 5G 运营发布
  4. python课程是学什么的-机器学习最好的课程是什么?
  5. 1155 Heap Paths (30 分)【难度: 一般 / 知识点: 堆 堆的遍历】
  6. Codeforces 494Div3(ABCDJava编写)
  7. application time for the banking industry
  8. cocos cr躲避类游戏的暂停、继续、重新开始_社团班级团建游戏活动安排
  9. Spring Security——SessionManagement中InvalidSessionStrategy自定义——简单跳过Fitter过滤刷新Session
  10. c#推箱子小游戏代码_推箱子小游戏V1.0制作
  11. 四足爬行机器人运动_有自我意识机器人横空出世,还能自我复制,专家表示需警惕其失控...
  12. vue文件里在style的样式需要什么loader_Vue学习笔记之Webpack中css、less、图片等文件处理...
  13. Centos6.8操作防火墙
  14. vue 报错 :属性undefined(页面成功渲染)
  15. 土地调查图斑编号_土地年度变更调查“图斑类型”说明
  16. FlashMX2004组件事件简单调试器
  17. 黄永成think php rest,Rest控制器
  18. 实践小笔记(1) --- DBSCAN
  19. 今天吃什么随机网页_初秋应该多吃什么水果?饮食禁忌有哪些?今天燕多多跟你一起探究...
  20. vscode配置和快捷键

热门文章

  1. eix安装_Windwos U盘PE制作与系统安装
  2. 不同类的方法 事务问题_深入理解 Spring 事务原理
  3. mysql 字符串 空格函数_mysql中的去除空格函数
  4. 裸奔浏览器_大概是最好用的隐私浏览器 - Firefox Focus
  5. php视频录制插件,Chrome浏览器录屏扩展插件
  6. matlabfor循环语句举例_笨办法学python(七)条件、选择和循环
  7. ccls提示找不到文件
  8. 开发日记-20190827 关键词 计算机网络
  9. (转载)linux下的find文件查找命令与grep文件内容查找命令
  10. CNN tflearn处理mnist图像识别代码解说——conv_2d参数解释,整个网络的训练,主要就是为了学那个卷积核啊。...