【发布时间】:2011-02-24 15:08:05
【问题描述】:
我编写了一个应用程序,它按照以下结构创建一个 JSON 文件:
{
identifier:"id",
label:"name",
items:[
{
id:"ROOT",
name:"Parent1",
type:"ROOT",
children:[
{
_reference:"CHILD1"
}
]
},
{
id:"CHILD1",
name:"Parent1-Child1",
type:"Child",
children:[
{
_reference:"CHILD2"
}
]
},
{
id:"CHILD2",
name:"Child1-Child2",
type:"Child",
children:[
{
_reference:"Child3"
},
{
_reference:"Child4"
}
]
},
{
id:"Child3",
name:"Child2-Child3",
type:"GrandChild"
},
{
id:"Child4",
name:"Child2-Child4",
type:"GrandChild"
},
]
}
所以我的应用程序实际上获取了此 JSON 树的每个节点的以下数据
PID-- 我必须将子节点附加到它 CID--子节点的ID CNAME——子节点名称 CTYPE--子类型
所以目前我正在做的是通过迭代(在文件系统上)搜索 json 文件中的 PID,一旦我找到具有 id=PID 的字符串,我将一个子引用附加到该节点
{
_reference:"CHILD-NEXT"
}
然后在这一行之后添加全新的子节点
{
id:"CHILD-NEXT",
name:"Parent1-ChildNext",
type:"Child",
},
但这是非常低效的解决方案,因为每次都要迭代文件以搜索父节点并附加/插入子节点。
所以我正在寻找一种解决方案,我只需在内存中创建这个 JSON 结构,当我添加完所有节点后,我就可以将它写入文件。我在 JAVA 中执行此操作,因此我正在寻找一些现有的 JSON 库,可用于满足此要求。
如果您需要上述解释的任何其他信息不清楚,请发表评论。
【问题讨论】: