Я пишу приложение, которое создает 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-- Itк которому я должен прикрепить CID дочернего узла - ID дочернего узла CNAME - имя дочернего узла CTYPE - дочерний тип
Так что в настоящее время я занимаюсь поиском PID в файле json путем итерации (в файловой системе), и как только я нахожу строку, которая имеет id = PID, я добавляю дочерний Ref к этому узлу
{
_reference:"CHILD-NEXT"
}
, а затем после этой строки добавляю весь новый дочерний узел
{
id:"CHILD-NEXT",
name:"Parent1-ChildNext",
type:"Child",
},
Но это очень неэффективное решение из-за итерации файла каждый раз для поиска родительского узла и добавления / вставки дочернего элемента.
Так что я ищу некое решение, в котором я просто создаю этот JSONструктура в памяти, и когда я закончу с добавлением всех узлов, я могу записать его в файл.Я делаю это в JAVA, поэтому я ищу некоторые существующие библиотеки JSON, которые я могу использовать для выполнения этого требования.
Пожалуйста, прокомментируйте, если вам нужна какая-либо другая информация из приведенного выше объяснения, неясно.