我想知道是否有一個解析器或一個簡單的方法來迭代通過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]}