1

我如何轻松地转换数据?我可以搜索我感兴趣的数据,f。前任:

json \\ fieldName1 \\ fieldName2 \\ fieldName3

但是我怎么能这个搜索修改值?F。前任

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

1 回答 1

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所示

于 2012-07-10T03:15:33.717 回答