I have two variables of class User as follows:
val user1 = User().apply {....values here}
val user2 = User().apply {....values here}
I want to create a JsonNode with the following structure:
var node:JsonNode? = null
node = {
"user_1": {
...the fields of class User, assigned in variable user1
},
"user_2": {
...the values for user 2
}
}
I have converted the objects to nodes, but I do not know how to merge them using Jackson.
val mapper1= ObjectMapper() mapper1.valueToTree<JsonNode>(user1) val mapper2= ObjectMapper() mapper2.valueToTree<JsonNode>(user2)
Or is there a more efficient way to create one json node structure with the two classes ? I am using Kotlin and Jackson databank.
Advertisement
Answer
I haven’t tested it, but I guess you should be able to simply create a Map<String, User> and convert that into a JsonNode:
val user1 = User().apply {....values here}
val user2 = User().apply {....values here}
val both = mapOf("user1" to user1, "user2" to user2)
val mapper = ObjectMapper()
val result = mapper.valueToTree<JsonNode>(both)