我有3个课程:
class Employee{
int id;
String lastName;
String firstName;
Department department; //an employee has 1 department
}
class Department{
int id;
String name;
List<Employee> employees;
}
class AllData{
List<Employee> employees;
List<Department> departments;
}
我想要将AllData类编组为json,但是与常规的编组工具(例如Jackson)不同,我希望对数据进行规范化并轻松 可编辑的,例如:
{
"employees":[
{id: 101, "lastName":"Smith", "firstName": "John", "departmentId": 201},
{id: 102, "lastName":"Jones", "firstName": "Jill", "departmentId": 201},
]
"departments":[
{"id": 201, "name":"accounting"},
{"id": 202, "name":"sales"},
]
}
请注意,在不重复数据的情况下写出了json。例如,只有部门编号在Employee中写出,而不是整个部门 宾语。而且部门不会写出员工对象,因为那样会重复。这允许用户快速编辑json,这非常适合测试我们希望快速查看和修改对象的地方。我们拥有不同员工和部门的所有这些方案,并且如果我们可以轻松地以文本形式对其进行编辑和查看,则非常适合进行测试。从某种意义上说,我们想要的是像Hibernate这样的对象关系映射工具,但我不想从对象到数据库,而是要从对象到可编辑的文本格式(首选json)。从理论上讲,Hiberate在编写SQL语句时为我们提供了此功能,但是SQL在查看和编辑方面比json差很多。如果我错误地解决了这个问题,请告诉我。