7

lift-jsonのドキュメントは、現在のJObject構造をバニラスカラマップとして取得するために「values」を呼び出すことができるはずであることを示唆しています。例が示すように、「values」の戻りタイプはMapではなくjson.Valuesであるため、このアプローチは私には機能しません。私は何が間違っているのですか?この変換を実行するために必要な暗黙のインポートはありますか?

scala> val json = parse("""{"k1":"v1","k2":"v2"}""")         
json: net.liftweb.json.package.JValue = JObject(List(JField(k1,JString(v1)), JField(k2,JString(v2))))

scala> json.values                                  
res4: json.Values = Map((k1,v1), (k2,v2))

scala> res4.get("k1")                                        
<console>:18: error: value get is not a member of json.Values
   res4.get("k1")
4

1 に答える 1

9

どういうわけか、検索でこれの複製を見逃しました: Scalalift-jsonライブラリを使用してJSONをマップに解析できますか?

答えは明示的にキャストすることです:

json.asInstanceOf[JObject].values
于 2011-04-06T21:40:59.530 に答える