首先,安装NewtownSoft.Json库

然后,引入命名空间

using Newtonsoft.Json;
using Newtonsoft.Json.Linq;

最后,代码如下

 /// <summary>/// json格式字符串转字典方法/// </summary>/// <param name="json">json格式字符串</param>/// <returns></returns>public static Dictionary<string, object> ToDictionary(this string json){var res = new Dictionary<string, object>();try{JObject jsonObj = JsonConvert.DeserializeObject(json) as JObject;foreach (var p in jsonObj.Properties()){if (jsonObj[p.Name].GetType() == typeof(JObject)){res.Add(p.Name, jsonObj[p.Name].ToDictionary());}else if (jsonObj[p.Name].GetType() == typeof(JArray)){var jsonArr = JsonConvert.DeserializeObject(jsonObj[p.Name].ToString()) as JArray;var dic = new Dictionary<string, object>();for (int i = 0; i < jsonArr.Count; i++){dic.Add($"{p.Name}{i}", jsonArr[i].ToDictionary());}res.Add(p.Name, dic);}else if (jsonObj[p.Name].GetType() == typeof(JValue)){res.Add(p.Name, jsonObj[p.Name].Value<string>());}}}catch (Exception){res.Add($"NotJson{DateTime.Now:yyyyMMddHHmmssfff}", json);}return res;}

存在瑕疵

会将非json格式的集合转成字典,而非List

Json格式字符串转字典相关推荐

  1. FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换

    fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换. JSONObject:fas ...

  2. ajax中json和文本的区别,json格式字符串--json对象 【ajax_responseText】重点

    JSON.parse(string) JSON.Stringify(object)document.getElementById("id").value=jsonObj    // ...

  3. Java实现向指定URL用POST方法发送Json格式字符串参数请求的工具类

    场景 SpringBoot项目中通过后台Controller向某服务接口发送POST请求. 实现 在项目pom.xml中添加依赖 <dependency><groupId>co ...

  4. SpringMVC的数据响应-回写数据-直接回写json格式字符串(应用)

    @RequestMapping(value="/quick8") @ResponseBody public String save8() throws IOException {r ...

  5. 关于json格式字符串解析并用mybatis存入数据库

    园子里面找了很多关于json解析后存入数据库的方法,不是太乱,就是没有写完,我下面的主题代码多是受下面两位的启发,请按顺序查看 http://www.cnblogs.com/tian830937/p/ ...

  6. php 获取 js json数据类型,JS基础-JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换...

    JS的数据类型和访问/流程控制/JSON格式字符串和js对象相互转换 1. JS的数据类型和访问 1.1. 原始类型JS中的原始数据类型有: number , string , boolean ; 声 ...

  7. fastjson 检测json格式_FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换...

    fastJson对于json格式字符串的解析主要用到了一下三个类: JSON:fastJson的解析器,用于JSON格式字符串与JSON对象及javaBean之间的转换. JSONObject:fas ...

  8. SpringCloud工作笔记047---FastJson解析多级JSON_FastJson解析嵌套JSON_FastJson对于JSON格式字符串、JSON对象及JavaBean之间的相互转换

    JAVA技术交流QQ群:170933152 解析嵌套json,这里说一下: //下面可以通过解析多级json的方式,获取数据,插入到数据库 //JSONObject userJsonObj = JSO ...

  9. js怎么解析json格式字符串

    json是种常用数据传输格式,js怎么解析json格式的数据呢,请参阅下面的代码: <html><head><script type="text/javascr ...

最新文章

  1. 微软软件测试的可借鉴之处
  2. 链接和作用域2 - C++快速入门43
  3. 树莓派okdo_创客的AK47—树莓派4正式发布,性能大幅提升,售价仅为35美元。
  4. A+B Problem(V)
  5. Linux下删除非空文件目录
  6. JEECG再创新举,开辟云应用开发新时代,打造jeecg企业级云应用生态圈
  7. 饿了么前端DEMO 网址 VUE.js
  8. Earthquake
  9. 硬核干货!揭秘波士顿动力背后的专利技术
  10. ble主服务的uuid 是一致的吗_nrf52832 开发之添加DFU服务
  11. The Django Book(一)
  12. linux 终端使用aplay播放wav
  13. 舵机信号线怎么区分,有什么用
  14. flash加载脚本文件导致IE脚本错误 ,行53 ,字符3,缺少对象,代码0 , 怎么解决?
  15. 史上最全的iOS开源项目分类汇总没有之一
  16. Unity5.4 WWW频繁加载崩溃问题 Fatal signal 11 (SIGSEGV) at 0x00000004 (code=1)
  17. 多线程模拟龟兔赛跑游戏
  18. moment.js 中文API
  19. voxsrc20_std_00-How many kinds of topology used in speaker recognition?
  20. vue 日期选择器禁止点击今日之前的日期

热门文章

  1. 线性表的顺序存储结构——顺序表
  2. 排序算法——希尔排序
  3. 关于HTML图片如何设置热区
  4. shell命令的使用
  5. 只读pdf文件怎么编辑?如何把pdf只读改为可编辑
  6. 14 Tornado - XSRF
  7. 找出并打印1至1000以内的质数
  8. 2017华师在线计算机作业,华师2017春《计算机动画》在线作业
  9. word SMARTart学习笔记
  10. 【渝粤题库】陕西师范大学201421 公司法作业