用升力改造json

时间:2012-07-09 12:38:57

标签: json scala lift

我可以轻松转换数据吗? 我可以搜索有趣的数据,f。例如:

json \\ fieldName1 \\ fieldName2 \\ fieldName3

但是我如何才能修改这个值呢? F。前

json transform{
  case JField(x,y) => JField(x, z)
}

1 个答案:

答案 0 :(得分:1)

如果您使用lift-json,则可以得到您想要的内容:

scala> import net.liftweb.json._
scala> import net.liftweb.json.JsonDSL._

scala> val json = 
  ("person" ->
    ("name" -> "Joe") ~
    ("age" -> 35) ~
    ("spouse" -> 
      ("person" -> 
        ("name" -> "Marilyn") ~
        ("age" -> 33)
      )
    )
  )
scala> json transform {
         case JField("name", JString(s)) => JField("NAME", JString(s.toUpperCase))
       }
res8: net.liftweb.json.JsonAST.JValue = JObject(List(JField(person,JObject(List(
JField(NAME,JString(JOE)), JField(age,JInt(35)), JField(spouse,JObject(List(
JField(person,JObject(List(JField(NAME,JString(MARILYN)), JField(age,JInt(33)))))))))))))

以上代码是从链接页面复制的。

如果您不使用lift-json,您可以查看kiama,如this answer所示。