C# JSON字符串字典序排序(递归)

#region json字符串字典序排序
public static string SortJson(string json)
{
    var dic = JsonConvert.DeserializeObject<SortedDictionary<string, object>>(json);
    SortedDictionary<string, object> keyValues = new SortedDictionary<string, object>(dic);
    keyValues.OrderBy(m => m.Key);//升序 把Key换成Value 就是对Value进行排序
    //keyValues.OrderByDescending(m => m.Key);//降序
    SortedDictionary<string, object> tempKeyValues = new SortedDictionary<string, object>(keyValues);
    foreach (KeyValuePair<string, object> kv in tempKeyValues)
    {
        // 判断value是不是JObject类型
        Type t0 = typeof(JObject);
        Type t1 = kv.Value.GetType();
        if (t0 == t1) {
            // value是JObject类型
            string jsonItem = JsonConvert.SerializeObject(kv.Value);
            jsonItem = SortJson(jsonItem);
            keyValues[kv.Key] = JsonConvert.DeserializeObject<JObject>(jsonItem);
        }
    }
    return JsonConvert.SerializeObject(keyValues);
}
#endregion

参考地址:c# 对JSON字符串排序(KEY/VALUE) - 容忍的人其实并不是笨 - 博客园需要添加的引用: using System.Collections.Generic; using System.Linq; using Newtonsoft.Json;https://www.cnblogs.com/cc-net/archive/2018/09/14/9645214.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值