Ale*_*ean 2 scala jackson json4s
如果我正在使用json4s(使用Jackson绑定):
scala> import org.json4s._
scala> import org.json4s.jackson.JsonMethods._
scala> parse(""" { "numbers" : [1, 2, 3, 4] } """)
res0: org.json4s.JsonAST.JValue =
JObject(List((numbers,JArray(List(JInt(1), JInt(2), JInt(3), JInt(4))))))
Run Code Online (Sandbox Code Playgroud)
如何将org.json4s.JsonAST.JValue上面给出的转换为com.fasterxml.jackson.databind.JsonNode?
为什么我想这样做:我想JValue使用优秀的json-schema-validator Java库来验证s对JSON Schema,它使用JsonNodes作为参数.
我正在寻找某种类似于Play Framework处理JsValue<> JsonNodeinterop的东西.
从Json4s 3.2.11-SNAPSHOT开始,有两种方法可以在JValue和JsonNode之间进行转换:
asJsonNode(jv: JValue): JsonNode 将JValue转换为JsonNodefromJsonNode(jn: JsonNode): JValue 将JsonNode转换为JValue以下是如何使用它的示例:
import org.json4s._
import org.json4s.jackson.JsonMethods._
val jv = parse(""" { "numbers" : [1, 2, 3, 4] } """)
val jn = asJsonNode(jv)
println(jn)
// {"numbers":[1,2,3,4]}
val jv2 = fromJsonNode(jn)
println(jv2)
// JObject(List((numbers,JArray(List(JInt(1), JInt(2), JInt(3), JInt(4))))))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2824 次 |
| 最近记录: |