1. 创建项目:ConsoleApplication_Json
  2. 选择项目右键管理NuGet程序包
  3. 搜索Newtonsoft.Json 并下载安装
  4. 选择项目添加 JsonHelper.cs
  5. 添加引用:
using Newtonsoft.Json;
  1. .编写Json处理方法代码,如下:
using System;
using Newtonsoft.Json;namespace ConsoleApplication_Json
{public class JsonHelper{public static decimal ToDecimal(object obj, decimal defaultValue = 0){string s = obj == null ? "" : obj.ToString();decimal result;if (!decimal.TryParse(s, out result)){result = defaultValue;}return result;}public static string Obj2Json(object value){return JsonConvert.SerializeObject(value);}/// <summary>/// 将JSON 字符串转换成对应的类型/// </summary>/// <typeparam name="T">转换后的类型</typeparam>/// <param name="s">需转换的字符串</param>/// <returns></returns>public static T Json2Obj<T>(string s){try{return JsonConvert.DeserializeObject<T>(s);}catch (Exception ex){return default(T);}}}
}
  1. .自定义Json格式模拟数据
{"id": "ko09895dd6g565d5222242125","status": true,"httpstatus": 200,"data": [{"room": {"field1": "955gg2015","field2": "G1020","field3": "VIP","field4": "大包","field5": "李春凤","field6": "10086611"},"address": "这里是个地址信息","sign": "预订"}, {"room": {"field1": "955gg2016","field2": "G1022","field3": "VIP_null","field4": "中等包","field5": "李春凤","field6": "10086622"},"address": "这里是个地址信洗第二个","sign": "预订"}],"nextLink": "www.baidu.com"
}
  1. .格式化Json字符串用于测试
{\"id\": \"ko09895dd6g565d5222242125\",  \"status\": true,     \"httpstatus\": 200,  \"data\": [{      \"room\": {           \"field1\": \"955gg2015\",          \"field2\": \"G1020\",          \"field3\": \"VIP\",            \"field4\": \"大包\",             \"field5\": \"李春凤\",            \"field6\": \"10086611\"        },      \"address\": \"这里是个地址信息\",      \"sign\": \"预订\"    }, {        \"room\": {           \"field1\": \"955gg2016\",          \"field2\": \"G1022\",          \"field3\": \"VIP_null\",           \"field4\": \"中等包\",            \"field5\": \"李春凤\",            \"field6\": \"10086622\"        },      \"address\": \"这里是个地址信洗第二个\",       \"sign\": \"预订\"    }],     \"nextLink\": \"www.baidu.com\" }
  1. .新建刚才与Json格式对应的类:RoomResponse.cs,代码如下
using System.Collections.Generic;namespace ConsoleApplication_Json
{public class RoomResponse{public string id { get; set; }public string status { get; set; }public string httpstatus { get; set; }public List<Data> data { get; set; }public string nextLink { get; set; }}    public class Data{public Room room { get; set; }public string address { get; set; }public string sign { get; set; }}public class Room{public string field1 { get; set; }public string field2 { get; set; }public string field3 { get; set; }public string field4 { get; set; }public string field5 { get; set; }public string field6 { get; set; }}   }
  1. .进入Program.cs 文件,编辑代码如下:
namespace ConsoleApplication_Json
{class Program{static void Main(string[] args){var strJson = "{\"id\":\"ko09895dd6g565d5222242125\",\"status\":true,\"httpstatus\":200,\"data\":[{\"room\":{\"field1\":\"955gg2015\",\"field2\":\"G1020\",\"field3\":\"VIP\",\"field4\":\"大包\",\"field5\":\"李春凤\",\"field6\":\"10086611\"},\"address\":\"这里是个地址信息\",\"sign\":\"预订\"},{\"room\":{\"field1\":\"955gg2016\",\"field2\":\"G1022\",\"field3\":\"VIP_null\",\"field4\":\"中等包\",\"field5\":\"李春凤\",\"field6\":\"10086622\"},\"address\":\"这里是个地址信洗第二个\",\"sign\":\"预订\"}],\"nextLink\":\"www.baidu.com\"}";var test1 = JsonHelper.Json2Obj<RoomResponse>(strJson);}}
}
  1. .加断点,调试文件。
  2. .数据成功转换成类型对象。
  3. 补充:
        /// <summary>/// 使用JObjectParse/// 获取Json字符串中的某个值/// </summary>/// <param name="s"></param>/// <returns></returns>public static JObject JObjectParse(string s){try{var obj = JObject.Parse(s);return obj;}catch (Exception){return null;                }}/// <summary>/// 使用JavaScriptSerializer/// 获取Json字符串中的某个值/// </summary>/// <param name="s"></param>/// <returns></returns>public static Dictionary<string, object> JavaScriptSerializer(string s){try{JavaScriptSerializer Jss = new JavaScriptSerializer();Dictionary<string, object> DicText = (Dictionary<string, object>)Jss.DeserializeObject(s);return DicText;}catch (Exception ex){throw;}}
  1. 该方法用于获取每个节点对应的内容,可直接通过obj[“data”]取出数据。
  2. 先这样吧。

C# JSON 常用方法 - Json字符串转对象相关推荐

  1. java js对象转字符串数组_js 转json格式的字符串为对象或数组(前后台)的方法

    一.前台 // 转换成对象 var myObject = JSON.parse(_data); alert("对象:"+myObject.msg); // 转换成数组 var my ...

  2. json格式的字符串转为json对象遇到特殊字符问题解决

    中午做后台发过来的json的时候转为对象,可是有几条数据一直出不来,检查发现json里包含了换行符,造成这种情况的原因可能是编辑部门在编辑的时候打的回车造成的 假设有这样一段json格式的字符串 1 ...

  3. 字符串、对象、数组操作方法、json方法

    1.字符串操作方法 1.charAt  *     作用 *          通过索引找字符 *     语法 *         字符串.charAt(index) *     参数 *      ...

  4. json数据解析与JAVA对象转换以及在JQUERY中的使用

    JSON基础了解 JSON:JavaScript 对象表示法(JavaScript Object Notation). JSON 是存储和交换文本信息的语法.类似 XML. JSON 比 XML 更小 ...

  5. 【JSON教科书】什么是JSON,JSON字符串有什么作用?(JSON学习总结)

    文章目录 @[toc] 一.了解Json 3.1 什么是Json 二.简单Json语法 2.1 语法 3.2.1 Json语法记忆规则 三.Json字符串的手写转换 JavaBean类对象 Json简 ...

  6. 对象转换成字符串/字符串和对象的相互转换

    对象转字符串 JSON.stringify(obj) 字符串转对象或数组 JSON.parse(str)

  7. js 改写对象转字符串 字符串转对象(不丢失对象方法)

    js 改写对象(包括方法)转字符串 对象转字符串 字符串转对象 总结 js中将对象转化为字符串可以用JSON.stringify,字符串转对象可以用JSON.parse.这两个方法在大部分的情况下都很 ...

  8. vue uniapp 字符串转对象,对象转字符串

    //售前服务             shouqianfuwu(){                 this.$api.getArchives({                     page: ...

  9. js数组转字符串方法 对象转字符串 字符串转对象

    js 数组转字符串的方法 window.fenlei.toString() 对象转字符串 let obj = {name: 'zs',age: 18} JSON.stringify(obj) 字符串转 ...

最新文章

  1. oracle求sql的cpu贡献率,oracle 实时查询最耗CPU资源的SQL语句
  2. spring boot 打包jar,jar没有主目录清单
  3. Lua1.0 代码分析 库
  4. simulink中选择开关模块的使用
  5. 看微软 Windows 30年发展简史,你用过最早的系统版本是什么?
  6. public static float CompareExchange(ref float location1,float value,float comparand)
  7. 请求页式存储管理中页面置换算法的模拟设计_操作系统-存储管理与文件管理-笔记...
  8. [机器学习]超参数优化算法-SuccessiveHalving与Hyperband
  9. 李嘉诚拥有8500亿资产, 是真正的世界首富,为何要藏富?
  10. [css] word-wrap、word-break和white-space有什么区别?
  11. oracle 取消exp权限,oracle 复制账号权限oracle11gexp导出问题:部分表导不出来
  12. 计算机知识*.jpg,计算机第一篇考试题(基础知识部分)
  13. 数控直流电压源的设计与制作【keil5 AD20]
  14. 电子知识|电源管理芯片
  15. 单元测试总结反思_考试后的总结与反思600字
  16. [MATLAB]最邻近插值法进行图像放大
  17. 李春葆、严蔚敏关于KMP算法的next数组值差1
  18. 推荐18个非常棒的Web和移动开发框架
  19. 接下来或许是一年中跳槽的最佳时间
  20. 前端想自学后找个小公司混口饭吃,需要学到什么程度?

热门文章

  1. web前端开发工程师是做什么工作的?
  2. 3ds max 软件主菜单中添加新的菜单
  3. Unity-点击屏幕进行移动
  4. sb3500_您的代码如何在3500万人的家庭中成为社会公益的代言人
  5. 关于解决 Failed to prepare partial IU:
  6. linux 查看开放的端口以及开放端口并且永久开放端口的方法
  7. 利用Office,将多个doc文档合并为一个文件,文档合并
  8. 【AI系列文章推送一】什么是人工智能?
  9. Orbit Downloader 小巧无广告的下载工具,超赞的在线视频下载能力,比迅雷清爽多了!
  10. java interrupt详解_Java线程源码解析之interrupt