У меня есть 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 , и получите значение внутри info
Если у входного json есть один type key, затем проверьте поле типа, если у него есть элемент 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")))
}