【发布时间】:2018-10-03 10:58:23
【问题描述】:
我有一个像下面这样的 json,
我有像下面这样的 json 我需要从中提取值
{
"filed1": "value1",
"message": {
"payload": [{
"type": ["Extra","ID"],
info": {
"value": 8
}
}, {
"type": ["Free"],
info": {
"value": 99
}
}, {
"type": ["Actual"],
info": {
"value": 100
}
}]
},
"code": "0000"
}
{
"filed1": "value1",
"message": {
"payload": [{
"type": ["Extra", "new"],
"value": 9
}]
},
"code": "0001"
}
由以上两种json.
如果输入 json 具有 type 键列表,则查找具有元素 Extra 的 type 字段并获取 info 中的值
如果输入 json 有一个 type 键,则检查 type 字段,如果它有元素 Extra 并获取直接值;ue
我正在尝试像下面的类型,但它对于 json 类型列表失败,即第一个 json 输入
import org.json4s._
import org.json4s.jackson.JsonMethods._
import org.json4s.JsonDSL._
val json = parse(myjsonString, true)
val field = compact(render(json \\ "type"))
val ok = field.contains("[\"Extra\"")
if(ok == true){
println("value " + compact(render(json \\ "value")))
}
【问题讨论】: