2016-12-23 1 views
2

J'ai un objet JSON où les clés sont dans un étui camel à l'intérieur d'une chaîne en scala, et je veux le convertir en étui serpent json (où les clés sont en étui serpent) chaîne. Y a-t-il un moyen propre de le faire? Je regardais le mappeur d'objet Jackson et le mappeur d'objet finatra mais je ne pouvais pas le comprendre.étui camel json étui snake json en scala/java

Je ne peux pas le mapper à la classe java sous-jacente, puis utiliser le mappeur d'objet pour récupérer une chaîne json car la classe sous-jacente est générée par apache avro et quand j'essaye de faire cet objet mapper avec des exceptions se confondre avec du code généré.

+0

jetez un oeil à jackson-dataformats-binary. Il supporte arvo. https://github.com/FasterXML/jackson-dataformats- – bresai

Répondre

1

Alors json4s semble avoir ce que j'ai demandé. voici à quoi ressemble le code

import org.json4s._ 
    import org.json4s.jackson.JsonMethods._ 

    val snakeKeyJsonAST = parse(camelKeyJsonString).snakizeKeys 
    val snakeKeyJsonString = compact(render(snakeKeyJsonAST))