如何使用喷json4s支持将json数据编组为蛇案

时间:2014-02-09 05:41:38

标签: scala spray json4s

Scala案例类字段是camelcased,

  

但我想用蛇盒制作json。

有没有这样做?

  

Json4sSupport特性似乎无法做到这一点

1 个答案:

答案 0 :(得分: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
//  }

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