http://www.sufeinet.com/plugin.php?id=keke_group

苏飞论坛

 找回密码
 马上注册

QQ登录

只需一步,快速开始

分布式系统框架(V2.0) 轻松承载百亿数据,千万流量!讨论专区 - 源码下载 - 官方教程

HttpHelper爬虫框架(V2.7-含.netcore) HttpHelper官方出品,爬虫框架讨论区 - 源码下载 - 在线测试和代码生成

HttpHelper爬虫类(V2.0) 开源的爬虫类,支持多种模式和属性 源码 - 代码生成器 - 讨论区 - 教程- 例子

查看: 16304|回复: 4

[HttpHelper] 用Newtonsoft.Json 如何对JObject对象中的值进行排序

[复制链接]
发表于 2014-9-14 11:54:34 | 显示全部楼层 |阅读模式
5金钱
本帖最后由 无奇龙 于 2014-9-14 12:25 编辑

如下面的JSON字符串(只复制一个第一层子节点(以activity为根节点)),解析以后竞有5层,模索很久才会通过遍历找到指定goodsCode值,现在想按,"time“作为关键字对第一层子节点排序,实在想不到办法,不会用OrderBy,哪个大神能贴出一下示例代码
{"activity":[{"channel":"MAF_OD","code":"1141","endDate":{"date":14,"day":0,"hours":10,"minutes":59,"month":8,"nanos":0,"seconds":59,"time":1410663599000,"timezoneOffset":-480,"year":114},"id":0,"name":"9月14日手机一元秒杀9点场 ","seckillFold":"null","seckillSettingDtos":[{"goodsCode":48754801,"goodsName":"界江梅花鹿双宝鹿茸+鹿鞭10克","goodsPrice":82,"goodsPriceStr":"82.00","id":0,"listingId":487548,"seckillInfoCode":"1141","seckillPrice":1,"seckillPriceStr":"1.00","seckillRate":1,"sellLimitFlag":1,"sellStorageNum":20,"storageNum":20,"storeId":3082},{"goodsCode":36658802,"goodsName":"城口老腊肉麻辣腊肉丝120g","goodsPrice":35,"goodsPriceStr":"35.00","id":0,"listingId":366588,"seckillInfoCode":"1141","seckillPrice":1,"seckillPriceStr":"1.00","seckillRate":1,"sellLimitFlag":1,"sellStorageNum":20,"storageNum":20,"storeId":3018}],"sellTime":{"date":14,"day":0,"hours":10,"minutes":59,"month":8,"nanos":0,"seconds":59,"time":1410663599000,"timezoneOffset":-480,"year":114},"startDate":{"date":14,"day":0,"hours":9,"minutes":0,"month":8,"nanos":0,"seconds":0,"time":1410656400000,"timezoneOffset":-480,"year":114},"title":"9月14日手机一元秒杀9点场 ","type":1}]}

最佳答案

查看完整内容

对象里面不是List吗,这个随便写个排序就行了吧,比较冒泡,或者是二叉都行, 我的意思就是把转好的List的对象,进行一个排序,然后再转为Json就达到的效果, 我那里有说让你对字符串排序了,


1. 开通SVIP会员,免费下载本站所有源码,不限次数据,不限时间
2. 加官方QQ群,加官方微信群获取更多资源和帮助
3. 找站长苏飞做网站、商城、CRM、小程序、App、爬虫相关、项目外包等点这里
发表于 2014-9-14 11:54:35 | 显示全部楼层
无奇龙 发表于 2014-9-14 12:24
我就是要对对象的排序方法,直接对这个字符串排序肯定没意思呀

对象里面不是List吗,这个随便写个排序就行了吧,比较冒泡,或者是二叉都行,

我的意思就是把转好的List的对象,进行一个排序,然后再转为Json就达到的效果,

我那里有说让你对字符串排序了,
回复

使用道具 举报

发表于 2014-9-14 12:20:21 | 显示全部楼层
转成对后排序再转成Json,没有直接排序的方法
回复

使用道具 举报

 楼主| 发表于 2014-9-14 12:24:56 | 显示全部楼层
站长苏飞 发表于 2014-9-14 12:20
转成对后排序再转成Json,没有直接排序的方法

我就是要对对象的排序方法,直接对这个字符串排序肯定没意思呀
回复

使用道具 举报

 楼主| 发表于 2014-9-14 17:00:13 | 显示全部楼层
站长苏飞 发表于 2014-9-14 12:27
对象里面不是List吗,这个随便写个排序就行了吧,比较冒泡,或者是二叉都行,

我的意思就是把转好的Li ...

   JObject temp = JObject.Parse(html);

                    List<JToken> list1 = new List<JToken>();
                    list1=  temp["activity"].ToList() ;
            

                    IEnumerable<JToken> query = list1.OrderBy(JToken => JToken["startDate"]["time"]);
                    list1 = query.ToList();
感谢您的无私奉献,真是帮了我的大忙了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 马上注册

本版积分规则

QQ|手机版|小黑屋|手机版|联系我们|关于我们|广告合作|苏飞论坛 ( 豫ICP备18043678号-2)

GMT+8, 2024-5-1 23:26

© 2014-2021

快速回复 返回顶部 返回列表