0

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

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 }

我真的不知道如何继续验证

4

2 回答 2

0

不确定这是否是您要查找的内容,但这会遍历单词中的每个对象,并且如果消息不包含x它,则返回 false,否则返回 true。

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

}
return true
}
于 2020-06-17T19:04:15.517 回答
0

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

fun validator(message: String, props: List<String>) =
        props.any { message.contains(it) }
于 2020-06-17T21:06:42.873 回答