У меня есть 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, но в отличие от обычного инструмента маршаллинга, такого как Джексон, я бы хотел, чтобы данные были нормализованы.и легко редактируемые, например:
{
"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 ID записывается в Employee, а не весь объект Department.И Департамент не выписывает объект сотрудникам, потому что это будет повторяться.Это позволяет пользователю быстро редактировать json, что отлично подходит для тестирования, где мы быстро хотим иметь возможность просматривать и изменять объекты.У нас есть все эти сценарии с разными сотрудниками и отделами, и если бы мы могли легко редактировать и просматривать их в тексте, это было бы здорово для тестирования.В некотором смысле нам нужен инструмент объектно-реляционного отображения, такой как Hibernate, но вместо перехода от объекта к базе данных я хочу перейти от объекта к редактируемому текстовому формату (предпочтительнее json).Теоретически, Hiberate дает нам это, когда записывает операторы SQL, но SQL гораздо хуже, чем json для просмотра и редактирования.Если я подхожу к этой проблеме неправильно, пожалуйста, дайте мне знать.