c#-Json-Json字符串字段递归排序
private static dynamic GetSortObject(Object obj)
{
if (obj is JValue)
{
return (obj as JValue)?.Value;
}
else if (obj is JArray)
{
var list = new List<dynamic>();
foreach (var item in (obj as JArray))
{
list.Add(GetSortObject(item));
}
return list;
}
else if (obj is JObject)
{
var sourceJson = JsonConvert.SerializeObject(obj);
var paramDic = JsonConvert.DeserializeObject<Dictionary<string, dynamic>>(sourceJson);
var newDic = new SortedDictionary<string, dynamic>();
for (int i = ; i < paramDic.Count; i++)
{
newDic.Add(paramDic.ElementAt(i).Key, GetSortObject(paramDic.ElementAt(i).Value));
}
return newDic;
}
else
{
return obj;
}
}
c#-Json-Json字符串字段递归排序的更多相关文章
- JS对json中某字段进行排序
var data =[ { "cid":1, "name":"aaa", "price":1000 },{ " ...
- JS中json数组多字段排序方法(解决兼容性问题)(转)
前端对一个json数组进行排序,用户需要动态的根据自己的选择来对json数据进行排序. 由于后台表设计问题所以不能用sql进行排序,这里用到了js的sort方法. 如果对单字段排序,那么很简单,一个s ...
- 在Go语言中使用JSON(去掉空字段)
Encode 将一个对象编码成JSON数据,接受一个interface{}对象,返回[]byte和error: func Marshal(v interface{}) ([]byte, error) ...
- 小白学习Spark系列五:scala解析多级json格式字符串
一.背景 处理json格式的字符串,key值一定为String类型,但value不确定是什么类型,也可能嵌套json字符串,以下是使用 JSON.parseFull 来解析多层json. 二.实例代码 ...
- 逐层解析请求json参数字符串【我】
import net.sf.json.JSONObject; 逐层解析请求json参数字符串: InputStream inStream =null; BufferedReader br =null; ...
- Json串的字段如果和类中字段不一致,如何映射、转换?
Json串是我们现在经常会遇到的一种描述对象的字符串格式.在用Java语言开发的功能中,也经常需要做Json串与Java对象之间的转换. fastjson就是经常用来做Json串与Java对象之间的转 ...
- WebApi返回Json格式字符串
WebApi返回json格式字符串, 在网上能找到好几种方法, 其中有三种普遍的方法, 但是感觉都不怎么好. 先贴一下, 网上给的常用方法吧. 方法一:(改配置法) 找到Global.asax文件,在 ...
- JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString
JavaScript Json对象和Json对象字符串的关系 jsonObj<->JsonString 如下示例: 直接写的a1就是一个Json对象,a2 就是一个Json对象字符串; 通 ...
- List转换成json格式字符串,json格式字符串转换成list
一.List转换成json字符串 这个比较简单,导入gson-x.x.jar, List<User> users = new ArrayList<User>(); Gson g ...
随机推荐
- php在Linux下的相对路径问题
如图所示,我在 /root/phpcode/ 下面有两个php文件. a.php 与 b.php,我用 a.php 去 require b.php ,然后 b.php 输出 1. 现在我在 /root ...
- 中标麒麟(龙芯CPU)--忘记root密码怎么修改?
中标麒麟桌面版和服务器版均采用GRUB2为启动器,无法通过单用户模式重置root密码.下面将介绍如何重置中标麒麟系统的root密码: 桌面版 1.修改grub2引导 在正常系统入口上按下"e ...
- 监控指标 TP99 TP999 含义
TP=Top Percentile,Top百分数,是一个统计学里的术语,与平均数.中位数都是一类. TP50.TP90和TP99等指标常用于系统性能监控场景,指高于50%.90%.99%等百分线的情况 ...
- Git初始配置【一】
Git客户端的工作 安装完成后,还需要最后一步设置,在命令行输入 $ git config --global user.name "Your Name" $ git config ...
- shell关闭指定进程
例如要关闭jupyter-notebook这个进程: ps -ef | grep jupyter-notebook | grep -v grep | cut -c 9-15 | xargs kill ...
- 【java爬虫】利用webmagic框架实战demo
webmagic框架:http://webmagic.io/ WebMagic的结构分为Downloader.PageProcessor.Scheduler.Pipeline四大组件 PageProc ...
- [LeetCode] 516. Longest Palindromic Subsequence 最长回文子序列
Given a string s, find the longest palindromic subsequence's length in s. You may assume that the ma ...
- Ubuntu16.04 安装搜狗Linux中文输入法
参考链接: https://blog.csdn.net/leijieZhang/article/details/53707181 补充:安装完搜狗拼音输入法后候选栏是乱码的情况,解决方法如下: 输入如 ...
- 【视频开发】【计算机视觉】doppia编译之四:安装其他库、编译和运行doppia
(与本节内容无关///////////////////////////保存图片参数为--gui.save_all_screenshots true////////////////////) 在我们安 ...
- grok语法定义
grok默认表达式 Logstash 内置了120种默认表达式,可以查看patterns,里面对表达式做了分组,每个文件为一组,文件内部有对应的表达式模式.下面只是部分常用的. 常用表达式 表达式标识 ...