Представьте, что у вас есть следующее дерево объектов (псевдокод):
A {
B {
C {
a: 15
b: 12
},
c: 4
},
d: 12
}
Теперь некоторые изменения могли произойти, и вам нужно проверить это.Ваш новый файл JSON может выглядеть следующим образом:
A {
B {
C {
a: 3
b: 12
},
c: 4
},
d: 12
}
Я бы порекомендовал создать объекты и позволить им самостоятельно проверять наличие изменений, поскольку они лучше знают, если были какие-либо изменения.и какие атрибуты они имеют:
A:
Changes changes(oldA) {
Changes changes = b.changes(oldA.b)
changes.add(Changes(d, oldA.d))
return changes
}
Это означает, что у вас будет класс Changes, который ведет себя как список и предлагает обновление в форме JSON и каждого объекта, который является частьюJSON помещает в него свои значения.
Единственное, что вам остается, это подумать о подходящем формате JSON для этого списка.