Я использую Jackson 1.9.1 из Scala для маршалинга объектов в JSON.Мой код сортировки выглядит так:
val mapper = new ObjectMapper()
mapper.configure(SerializationConfig.Feature.WRAP_ROOT_VALUE, true)
mapper.setPropertyNamingStrategy(new PropertyNamingStrategy.LowerCaseWithUnderscoresStrategy())
val introspectorPair = new AnnotationIntrospector.Pair(
new JacksonAnnotationIntrospector(),
new JaxbAnnotationIntrospector()
)
mapper.getSerializationConfig().withAnnotationIntrospector(introspectorPair)
val writer = mapper.defaultPrettyPrintingWriter
writer.writeValueAsString(this)
Типичный JSON, который он производит, выглядит так:
{
"SalesOrder" : {
"id" : "3187e7d0-f84f-11e0-be50-0800200c9a66",
"total_paid" : 8.99,
"created_at" : "2011-05-14T00:00:00.000+0300",
"updated_at" : "2011-05-14T00:00:00.000+0300"
}
}
Мой вопрос: как мне переименовать корневой ключ из «SalesOrder»к более дружественному JavaScript "sales_order"?Добавление переопределения JsonProperty
выше моего определения класса не работает - возможно, потому что корневой ключ не является строго свойством (следовательно, setPropertyNamingStrategy()
также не применяется)?
Любое руководство о том, как достичьэто с благодарностью получено!