如果 JSON 中存在值,则中断,但如果值为 null,则返回(kotlin)
Posted
技术标签:
【中文标题】如果 JSON 中存在值,则中断,但如果值为 null,则返回(kotlin)【英文标题】:Break if value exists in JSON, but if value is null then return (kotlin) 【发布时间】:2021-04-04 00:32:07 【问题描述】:我正在尝试学习 kotlin,并且遇到了一个名为 klaxon 的用于解析 JSON 的库。如果我从输入中得到的值为空,我希望程序不断重复。否则,如果我输入的密钥确实存在,我希望程序中断。我的程序没有按我的预期工作,但如果我删除 break,即使值为 null,程序也会永远循环。
这是我的代码:
import java.net.*
import com.beust.klaxon.*
import java.util.*
import kotlin.text.*
fun webRequest(url: String)
val uri = URL(url).readText()
val parser: Parser = Parser.default()
val stringBuilder: StringBuilder = StringBuilder(uri)
val json: JsonObject = parser.parse(stringBuilder) as JsonObject
println(json)
val input: String? = readLine()
do
println(json)
if (input == null)
println("value doesn't exist")
else
println(json.string(input))
break
while (true)
fun main()
webRequest("https://api.github.com")
【问题讨论】:
【参考方案1】:您只读取一次输入。
您应该在循环内执行 readline()
以获得所需的行为:
var input: String? = readLine()
while (input.isNullOrEmpty())
println("value doesn't exist")
input = readLine()
println(json.string(input))
【讨论】:
以上是关于如果 JSON 中存在值,则中断,但如果值为 null,则返回(kotlin)的主要内容,如果未能解决你的问题,请参考以下文章
Mysql如果某个字段值存在则更新另一个字段的值为原值+100,命令应该如何写?
检查 JSON 数组中是不是存在值,如果不存在则检查下一个数组(Swift / SwiftUI)
如果 JSON 列中存在值(user_id),则获取 mysql 行