验证 List <String> 的值存在于 Json Object 和 return True 或 False

Validate that the values ​of List <String> exist in Json Object and return True or False

我正在尝试验证 props:List<String> 值是否存在 message:String 和 return 值是真还是假。

fun main() {

val message = """
            {
                "id": "xxxxx",
                "action": "Do",
                "resource": "Login",
                "type": "ok",
                "data": {
                "username": "+521234567890",
                "password": "12345"
            }
            }"""
val words = listOf("dog","flower","cat")
messageValidator(message,words)}


fun validator(message:String, props:List<String>):Boolean{

val words = props.iterator()
val messagejson = Json.parseJson(message).jsonObject


for(x in words){
    //println(x)
    //val dataWords = messagejson.containsKey(x)
    val dataWords = messagejson.containsKey(x)
    //println(dataWords)
    if (dataWords == true){
        println(x)
        return true
    }
    if (!dataWords){
        println(x)
        return false
    }
}
return false }

真不知道怎么继续验证

不确定这是否是您要查找的内容,但这会遍历每个对象,如果消息不包含 x,则 returns 为假,否则为真。

for(x in words){
    if(!messagejson.containsKey(x))
        return false

}
return true
}

除了使用循环,您还可以这样写:

fun validator(message: String, props: List<String>) =
        props.any { message.contains(it) }