我有一个json:
{"key1":["12345"],"key2":[{"key3":"some value"}]}
我需要提取key3的值
我在做compact(render(json \ "key2" \ "key3"))
我得到一个带方括号[“ some value”]的字符串。 请让我知道如何仅将值作为字符串获取。
答案 0 :(得分:2)
使用JArray
上的apply
方法可以做到这一点:
import org.json4s._
import org.json4s.native.JsonMethods._
val json = parse("""{"key1":["12345"],"key2":[{"key3":"some value"}]}""")
(json \ "key2" )(0) \ "key3"
// res6: JValue = JString("some value")
答案 1 :(得分:1)
尝试\\
,它会按名称返回所有匹配的字段。例如
import org.json4s._
import org.json4s.native.JsonMethods._
object Hello extends App {
val json = parse("""{"key1":["12345"],"key2":[{"key3":"some value"}]}""")
println(json \\ "key3")
}
应输出JString(some value)
。
答案 2 :(得分:0)
import org.json4s.jackson.JsonMethods
val x =
"""{"key1":["12345"],"key2":[{"key3":"some value"}]}
| """
val key3 = JsonMethods.parse(x) \ "key2" \ "key3"
val list = (key3.values)
println(list)
将打印 列表(一些值)