Извлечь значения Json как Map с помощьюift-json - PullRequest
5 голосов
/ 06 апреля 2011

Документация для lift-json предполагает, что я должен иметь возможность вызывать 'values', чтобы получить мою текущую структуру JObject как ванильную Scala Map.Этот подход не работает для меня, так как тип возвращаемых значений - это json.Values, а не Map, как показывают примеры.Что я делаю неправильно?Существует ли неявный импорт, необходимый для выполнения этого преобразования?

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")

1 Ответ

7 голосов
/ 07 апреля 2011

Каким-то образом я пропустил дубликат этого в моем поиске: Могу ли я использовать библиотеку Scala lift-json для анализа JSON в карте?

Ответ должен быть явным образом приведен:

json.asInstanceOf[JObject].values
...