java - 怎么将有JSON中有相同值放在一组?
迷茫
迷茫 2017-04-17 16:20:24
[Java讨论组]

处理的json是文章的列表,其中有:日期、文章标题、连接、发布时间戳等对象。
做android app打算把同一天的文章都在viewpager的一页里,那应该怎么返回相应的数据结构呢?
我想过将日期做为key,对应这一天的jsonArray处理好作为value,但是这样需要遍历读取出日期,再判断,加入。虽然数据量不大,但是这样代码太麻烦了。
请问有什么好的处理方法呢?或者android开发有什么好的解决方法不用这么麻烦的呢?
学生,开发经验尚浅,求解决,谢谢。
——————————————————————————————————————————————
主要是我觉得太麻烦了。先将json处理成list,再将list分开做成arraylist>,然后在adpter中还要解开。太过于复杂了。方法也太笨了,技术不行,想不出更妙的方法。
——————————————————————————————————————————————
我的意思将

[
    {....,"date":"2015-12-21",....},
    {....,"date":"2015-12-21",....},........都是2015-12-21的
    {....,"date":"2015-12-22",....},........都是2015-12-22的   
    {....,"date":"2015-12-23",....} ........都是2015-12-23的  
]

变为

[
    [{....,"date":"2015-12-21",....},
    {....,"date":"2015-12-21",....}]
    [{....,"date":"2015-12-22",....}],   
    [{....,"date":"2015-12-23",....}]   
]

就像Excel的分类汇总那样。而不是在SQLite中select..where那样。
除了上面写的用数据结构处理一下,我还真的想不到更好的方法了,请指点。
————————————————————————————————————————————————
json格式是这样的:

{"error":"","posts":[{"date":"2015-12-24","name":"","pic":"","publishtime":"1450926000","excerpt":""},.......]

看样子是我的表达能力有限。抱歉。就像excel的分类汇总那样,而不是select* from where。比如这一周的数据,周一放一堆,周二放一堆,周三放一堆,如此类推。返回的结果是一周分好堆的数据,而不是某一天的数据。
经过你们提醒我用了sqlite做缓存。只不过依然还是要用我以前的方法,读出一堆数据,然后在处理一下才能分堆。如果是用listview就不用这样。主要是因为我用viewpager,一页是一天的数据。所以才有这么麻烦。数据量不大,所以速度也不用多少。
也可以不用arraylist>,直接list,只是用了hashmap方便存储当天最新时间戳等元素。
我就是想看看有没有更妙的方法。纯属吃饱了撑的。

迷茫
迷茫

业精于勤,荒于嬉;行成于思,毁于随。

全部回复(3)
怪我咯

那就要求后台的给你想要的数据结构吧
这样就不麻烦了~~

ringa_lee

这种结构化的数据,查询之后丢到SQLite里保存。然后下次直接查数据库,用CursorAdapter更新ListView。
SQL查询同一天的数据不是一句话的事情么~

伊谢尔伦

按日期查询出来。。直接用fastjson序列化

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号