使用Dictionary做特殊的json字符串时(可以随意起key的名称)怎么将json字符串反序列化为json匿名对象?及匿名对象的使用方法
2023-09-11 14:19:20 时间
var object = new { arr = new[] { 1, 2, 3 }, list = new Dictionary<string, int> { { "x", 1 }, { "y", 2 } } }; var jsonString = JsonConvert.SerializeObject(o);
例子1:var result = JsonConvert.DeserializeAnonymousType(jsonString, new { arr= new int[0], list = new Dictionary<string, int>() });
例子2:
var dict = new Dictionary<string, IEnumerable<CityList>>(); var pinYinLetter = new string[] { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z" }; foreach (var letter in pinYinLetter) { var cityList = cacheList.Where(c => c.FirstPinYin == letter).Select(c => new CityList() { name = c.Name, simple = c.SimplePinYin, text = c.SimplePinYin + " " + c.Name, value = c.PinYin }); if (cityList != null && cityList.Count() > 0) dict.Add(letter, cityList); } var json = JsonConvert.SerializeObject(new { list = dict, status = "200" }); var result = JsonConvert.DeserializeAnonymousType(json, new { list = new Dictionary<string, IEnumerable<CityList>>(), status = "200" }); return result;
相关文章
- 3种方法修改PHP时区
- 【Vue】Vue组件或页面中查看当前Vm对象的方法
- Allegro如何在PCB上查看pin number的三种方法操作指导
- 事件对象 ------------- 阻止默认行为的方法
- [转]js数组对象方法
- C# 中对象与JSON字符串相互转换的三种方法
- datatable数据类型方法
- Android中传递对象的三种方法
- jquery1.8 在IE8 下面报错:对象不支持此属性或方法 return b.getAttribute("id")===a
- Java之所有对象的公用方法>9.Always override hashCode when you override equals
- iOS - NSLog的使用方法
- js 将json字符串转换为json对象的方法解析
- JNI入门课程-第四章:JNI更改java对象属性值以及调用方法
- 《软件建模与设计: UML、用例、模式和软件体系结构》一一1.5 COMET:一种基于UML的软件应用建模和设计方法
- JS 对象(Object)和字符串(String)互转方法
- 浅析FormData.append()的使用、FormData对象常用方法、如何使用FormData传文件流传json对象传list数组、如何使用FormData传多个文件、如何打印FormData对象的内容
- Foobar 2000增加APE播放支持的方法
- 关于类、方法、对象(实例):静态方法
- javascript中Date对象:格式化时间,时间戳、倒计时详解和setTime()方法
- C# String.Format的格式限定符与Format方法将多个对象格式化一个字符串原理
- manjaro下matlab 2022a的安装问题,解决方法
- javascript的冻结对象之freeze(),isFrozen()方法
- kail安装资产收集神器-ARL灯塔(安装方法笔记)
- sqlserver解决未能为数据库 ‘数据库名‘ 中的对象 ‘数据库日志文件‘ 分配空间,因为文件组 ‘PRIMARY‘ 已满。附带收缩数据库日志方法