JSONオブジェクト
以下の文字列のjsonがあった場合を考える。
val text = """
{
"key1": "value1",
"key2": "value2",
"key3": [{
"key4": "value4",
"key5": "value5"
}, {
"key6": "value6",
"key7": "value7"
}]
}
"""
val json = JsonParser.parse( text )
// lift 2.3以降
compact( render(json) )
// or
pretty( render(json) ) // みやすく表示
import net.liftweb.json.Serialization.write
write(CaseClass)
JObject(List[JField](
JField("key1", JString("value1"))
JField("key2", JString("value2"))
JField("key3", JArray(
JObject(List[JField](
JField("key4", JString("value4"))
JField("key5", JString("value5"))
) ::
JObject(List[JField](
JField("key6", JString("value6"))
JField("key7", JString("value7"))
) :: Nil
))
))
value2をJValueとして取得する
json \ "key2"
value2をStringとして受け取る
implicit val formats = DefaultFormats
(json \ "key2").extract[String]
key3をイテレートする
// lift 2.2 以前
(json \ "key3").children.head.children.foreach( k => {
println( k \ "key6" )
})
// lift 2.3 以後
(json \ "key3").children.foreach( k => {
println( k \ "key6" )
})
最終更新:2011年08月06日 15:20