我正在寻找一些帮助来获取输入JSON对象,并将该对象中的公共项合并到一个输出中,然后将输入中的项组合在一起,这是下面给出的问题:
编写将输入JSON数据转换为输出JSON格式的代码。它应该能够处理任意数量的嵌套级别。每个孩子只能有一个父母(类型为'文件夹'),每个父母可能有多个孩子(类型为'文件夹'或'文件')。
示例输入数据:
[
{
name:'file1',
parent:'folder1',
type:'file'
},
{
name:'file2',
parent:'folder2',
type:'file'
},
{
name:'folder1',
parent:'root',
type:'folder'
},
{
name:'folder2',
parent:'folder1',
type:'folder'
}
]
示例输出数据:
[
{
name:'folder1',
parent:'root',
type:'folder',
children:[
{
name:'file1',
parent:'folder1',
type:'file'
},
{
name:'folder2',
parent:'folder1',
type:'folder',
children:[
{
name:'file2',
parent:'folder2',
type:'file'
}
]
}
]
}
]
答案 0 :(得分:1)
提示:
问题有部分:将JSON读入内存,处理内存中的表示,然后输出结果。
简单读取所需的输出会告诉您数据结构不同。你有额外的属性......
据推测,您已经获得了一些关于读/写JSON ...或链接/引用文档的技术的指导。
不需要递归。基本上,您需要一个临时数据结构,将名称“映射”到对象,然后使用它来帮助您将树的各个部分连接在一起。 (考虑一下!有一个名为Map
的Java接口......)
基本上,你需要自己解决这个问题。这就是你学习的方式。您经历的困惑对于初学者来说是典型的...但是您获得的练习越多,就越容易。