我有一个包含用户对象数组的JSON文件。每个用户对象包含一个包含对象的目标数组,在每个目标对象中是一个包含1到多个里程碑对象的里程碑数组。
我能够利用JSON Simple轻松地解析它们,并以Java对象的形式存储信息,但我发现在JSON文件中重新写入某些块或将其附加到其中一个数组中很有挑战性。我在网上找到的例子过于简单,没有考虑到这么多的嵌套。
如果我想重写JSON文件中的一个目标对象或里程碑数组中的一个特定里程碑,我将如何根据相应Java对象模型中指定的属性来更新文件?是否可以在其中一个数组中修改/附加JSON文本文件中的特定块?
[
{
"username": "example",
"password": "pwd",
"Goals":[
{
"goalId": "G0001",
"goalName": "COEN 275 Midterm",
"startDate": "02/14/2017",
"endDate": "02/28/2017",
"numMilestones": 5,
"color": "#4286f4",
"hoursPerDay": 4,
"milestones":[
{
"milestoneName": "Chapter 1",
"Difficulty": "E",
"dueDate": "02/18/2018",
"completed": true
},
{ "milestoneName": "Chapter 2",
"Difficulty": "E",
"dueDate": "02/22/2018",
"completed": true
},
{ "milestoneName": "Chapter 3",
"Difficulty": "M",
"dueDate": "02/23/2018",
"completed": true
},
{ "milestoneName": "Chapter 4",
"Difficulty": "M",
"dueDate": "02/25/2018",
"completed": false
},
{ "milestoneName": "Chapter 5",
"Difficulty": "H",
"dueDate": "02/28/2018",
"completed": false
}
]
}
]
},
{
"username": "username",
"password": "pwd",
"Goals":[
{
"goalId": "G0001",
"goalName": "COEN 279 Midterm",
"startDate": "02/14/2017",
"endDate": "02/28/2017",
"numMilestones": 5,
"color": "#4286f4",
"hoursPerDay": 4,
"milestones":[
{
"milestoneName": "Chapter 5",
"Difficulty": "E",
"dueDate": "02/18/2018",
"completed": true
},
{ "milestoneName": "Chapter 6",
"Difficulty": "E",
"dueDate": "02/22/2018",
"completed": true
},
{ "milestoneName": "Chapter 7",
"Difficulty": "M",
"dueDate": "02/23/2018",
"completed": true
},
{ "milestoneName": "Chapter 11",
"Difficulty": "M",
"dueDate": "02/25/2018",
"completed": false
},
{ "milestoneName": "Chapter 12",
"Difficulty": "H",
"dueDate": "02/28/2018",
"completed": false
}
]
}
]
}
]