Hi all,
I'm using jackson to serialize POGOs (Groovy POJO) to and from json. By
default, jackson will start at the top of the inheritance tree and output
the values in order of the inheritance. Unfortunately, the base class that
all of my POGOs extend from contains the variables that should be displayed
last. Additionally, the direct parent class should still be displayed
before the child class. Is there any way to define the order in which the
inherited classes are displayed in the output?
Example:
These variables should be displayed last.
class BaseEntity
{
String createUser;
Date createDate;
String updateUser;
Date updateDate;
int version = 0;
...
}
These variables should be displayed first.
class DatastoreEntity<T extends DatastoreEntity> extends BaseEntity implements
Cloneable
{
@Id
Long id;
@Ignore
@JsonIgnore
T original;
...
}
These variables should be displayed between the other two.
@Entity
public class Person extends DatastoreEntity<Person>
{
@Index
String firstName;
@Index
String lastName;
@Index
int age;
@Index
String gender
}
Current Output:
{
"createUser": "[email protected]",
"createDate": 1512064212616,
"updateUser": "[email protected]",
"updateDate": 1512064212616,
"version": 1,
"id": 5717271485874176,
"firstName": "Steve",
"lastName": "Johnson",
"age": 30,
"gender": "male"
}
Desired Output:
{
"id": 5717271485874176,
"firstName": "Steve",
"lastName": "Johnson",
"age": 30,
"gender": "male",
"createUser": "[email protected]",
"createDate": 1512064212616,
"updateUser": "[email protected]",
"updateDate": 1512064212616,
"version": 1
}
--
You received this message because you are subscribed to the Google Groups
"jackson-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
For more options, visit https://groups.google.com/d/optout.