2013-07-08 80 views
0

我使用JSONObject(map.toMap)將Scala地圖轉換爲JSON。我如何解碼它以獲取地圖?另外,有沒有更好的方式來將Scala Map編碼爲JSON並將其解碼?將JSON解碼爲Scala中的地圖

回答

1

scala.util.parsing.json.JSONObject有一個obj方法返回Map[String, Any]

scala> val map = Map("zero" -> 0, "one" -> 1, "two" -> 2) 
map: scala.collection.immutable.Map[String,Int] = Map(zero -> 0, one -> 1, two -> 2) 

scala> scala.util.parsing.json.JSONObject(map) 
res0: scala.util.parsing.json.JSONObject = {"zero" : 0, "one" : 1, "two" : 2} 

scala> res0.obj 
res1: Map[String,Any] = Map(zero -> 0, one -> 1, two -> 2) 
+0

我需要寫上面的JSON對象到文件和讀回。我怎麼做? – yAsH

0

你可以在Jerkson庫使用parse方法:

import com.codahale.jerkson.Json._ 
parse[Map[String,Any]](JSONObject(map.toMap).toString)