lift в чем разница операторов \ и \ при разборе json

используя net.liftweb.json, в чем разница между операторами \ и \ при разборе json?

import net.liftweb.json._
 val parsed = JsonParser.parse(jsonString)
 val name = parsed.\("firstName")
 val userId = parsed.\\("userId")

person igx    schedule 03.09.2013    source источник


Ответы (1)


«\\» извлечет значение, даже если оно присутствует во вложенном json, тогда как «\» извлечет значение, только если оно присутствует в качестве атрибута верхнего уровня.

Рассмотрим этот json

 val json = """{"nested1":{"nested2": {"myKey":"myValue"}}}"""
 val jsonMsg = parse(json)

В этом случае

 (jsonMsg \ "myKey").values

повторы

в то время как

 (jsonMsg \\ "myKey").values

возвращает мое значение

person Vishal John    schedule 03.09.2013