【问题标题】:how to use spray json4s support to marshal json data as snake case如何使用喷雾 json4s 支持将 json 数据编组为蛇案例
【发布时间】:2014-02-09 05:41:38
【问题描述】:

Scala 案例类字段是驼峰式的,

但我想生成带有蛇盒的 json。

有没有办法做到这一点?

Json4sSupport trait 似乎无法做到这一点

【问题讨论】:

    标签: scala spray json4s


    【解决方案1】:

    JValue 具有 snakizeKeys 函数。

    import org.json4s.jackson.JsonMethods._
    
    val json = """{
                 |  "lowerCamelCase": 100,
                 |  "UpperCamelCase": 100,
                 |  "snake_case": 100,
                 |  "dashed-case": 100,
                 |  "using spaces": 100
                 |}""".stripMargin
    
    val ast = parse(json)
    
    println(pretty(ast.snakizeKeys))
    
    //  {
    //    "lower_camel_case" : 100,
    //    "upper_camel_case" : 100,
    //    "snake_case" : 100,
    //    "dashed_case" : 100,
    //    "using_spaces" : 100
    //  }
    

    您可能希望在响应和/或请求预处理的后处理步骤中挂钩转换。

    【讨论】:

    • 我应该写一个客户编组器吗?
    • 那行得通。您可以在existing one 上构建。
    猜你喜欢
    • 2016-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-10
    • 1970-01-01
    • 1970-01-01
    • 2014-11-13
    • 1970-01-01
    相关资源
    最近更新 更多