I am trying to sort below array node within my json payload. Should be sort by name
element
Before:
"empData": [
{
"name": "Jhon",
"age": 33
},
{
"name": "Sam",
"age": 24
},
{
"name": "Mike",
"age": 65
},
{
"name": "Jenny",
"age": 33
}
]
Expected:
"empData": [
{
"name": "Jenny",
"age": 33
},
{
"name": "Jhon",
"age": 33
},
{
"name": "Mike",
"age": 65
},
{
"name": "Sam",
"age": 24
}
]
I was trying below option:
private static final ObjectMapper SORTED_MAPPER = new ObjectMapper();
static {
SORTED_MAPPER.configure(SerializationFeature.ORDER_MAP_ENTRIES_BY_KEYS, true);
}
public static JsonNode sortJsonArrayList(final JsonNode node) throws IOException {
final Object obj = SORTED_MAPPER.treeToValue(node, Object.class);
final String json = SORTED_MAPPER.writeValueAsString(obj);
return objectMapper.readTree(json);
}
But not sure how to select name key for sorting.