我想知道是否有一个解析器或一个简单的方法来迭代通过JSON对象,而无需知道在Scala提前JSON的键/架构。我看了一些像json4s这样的库,但它似乎仍然需要在提取字段之前提前了解模式。我只是想遍历每个字段,提取等领域,并打印出它们的值是这样的:Scala解析Json不知道架构
json.foreachkey(key -> println(key +":" + json.get(key))
我想知道是否有一个解析器或一个简单的方法来迭代通过JSON对象,而无需知道在Scala提前JSON的键/架构。我看了一些像json4s这样的库,但它似乎仍然需要在提取字段之前提前了解模式。我只是想遍历每个字段,提取等领域,并打印出它们的值是这样的:Scala解析Json不知道架构
json.foreachkey(key -> println(key +":" + json.get(key))
如果JSON你的意思是任何JValue,然后json4s似乎具有此功能的开箱:
scala> import org.json4s.JsonDSL._
import org.json4s.JsonDSL._
scala> import org.json4s.native.JsonMethods._
import org.json4s.native.JsonMethods._
scala> val json = parse(""" { "numbers" : [1, 2, 3, 4] } """)
json: org.json4s.JValue = JObject(List((numbers,JArray(List(JInt(1), JInt(2), JInt(3), JInt(4))))))
scala> compact(render(json))
res1: String = {"numbers":[1,2,3,4]}