json结构的数据排序问题

Sam_Deep_Thinking
Java领域新星创作者
博客专家认证
2014-03-31 10:46:20
首先先看一下json文件的内容:
[
{
"parent" : "g3",
"groups" : [
{
"groupname" : "g4",
"displayname" : "g4",
"description" : "g4"
}
]
},
{
"parent" : "yy",
"groups" : [
{
"groupname" : "kk",
"displayname" : "kk",
"description" : "kk"
}
]
},
{
"parent" : "xx",
"groups" : [
{
"groupname" : "yy",
"displayname" : "yy",
"description" : "yy"
}
]
},
{
"parent" : "test",
"groups" : [
{
"groupname" : "test1",
"displayname" : "test1",
"description" : "test1"
}
]
},
{
"parent" : "g1",
"groups" : [
{
"groupname" : "g3",
"displayname" : "g3",
"description" : "g3"
}
]
},
{
"parent" : "Root",
"groups" : [
{
"groupname" : "g1",
"displayname" : "g1",
"description" : "g1"
}
]
}
]


parent表示父组织,groups表示底下的子组织。上面的json文件中的组是乱序的, 我想按照parent组做一下排序,如下:
Root-->g1-->g3
xx-->yy
test

如果没有排序的话, 当g3这个父组织在数据库中不存在的时候, 是无法立刻判断它不存在的, 因为g3可能是json文件的后面,某个组的孩子,如:

{
"parent" : "g3",
"groups" : [
{
"groupname" : "g4",
"displayname" : "g4",
"description" : "g4"
}
]
}
g3在数据库中不存在,但是:
{
"parent" : "g1",
"groups" : [
{
"groupname" : "g3",
"displayname" : "g3",
"description" : "g3"
}
]
}
g3在g1下面。。。

我的问题是:
1、如果做排序, 有没有好的排序算法( 提供思路)
2、除了排序,还有其他做法吗
...全文
277 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
Sam_Deep_Thinking 2014-04-02
  • 打赏
  • 举报
回复
我是把json文件转换后的list用Map<String,Stirng>存储成:groupname:parent, 如果有parent的话,就继续递归往下搜索,一直到没有parent了,然后把刚才递归得到的group用一个队列存起来,这个队列里面的group就是拍好顺序的了。。
TommyWu01 2014-04-01
  • 打赏
  • 举报
回复
先排序,再转json即可
tony4geek 2014-03-31
  • 打赏
  • 举报
回复
在转json 之前排号顺序呢。
可乐罐 2014-03-31
  • 打赏
  • 举报
回复
额~ 要多json对象做排序。。。。。就要都遍历了 既然已经都遍历了,那楼主在担心什么数据前后的问题还有意义吗? 都读到内存里,不都有了?

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧