如何从 kotlin 中的 json 获得“错误”或“成功”?
Posted
技术标签:
【中文标题】如何从 kotlin 中的 json 获得“错误”或“成功”?【英文标题】:How I can get "error" or "success" from json in kotlin? 【发布时间】:2020-04-03 06:44:53 【问题描述】:我尝试在 kotlin 中制作 web android 应用程序,并且每天都知道一些事情,但是关于这个错误我没有找到解决方案。我使用 OkHTTP3 和 Json 我找到了 Klaxon。我如何仅从响应“成功”或“错误”中获得。 例如:如果我得到:
"error":
"code":4,
"text":"\u041d\u0435\u0432\u0435\u0440\u043d\u044b\u0439 \u043b\u043e\u0433\u0438\u043d \u0438\u043b\u0438 \u043f\u0430\u0440\u043e\u043b\u044c!"
我需要检查它是“错误”还是“成功”。我试过```if (response.header("error") toast ("I got error") or
if (response.header("success")
val i = Intent(this, SecondActivity::class.java).putExtra("token", response.header("session_token").toString)
startActivity(i)
我需要if ()
吗?也许我可以通过其他方式检查成功?
感谢所有问题,也许您推荐其他用于 json 的库?
【问题讨论】:
为什么不用 OkHttp 的 onresponse 和 onerror 方法呢?您可能需要修改 api。请在这里查看***.com/questions/24246783/… @EmreAkcanI 我可以在 onResponse 中编码val i = Intent(this, SomeActivity::class.java).putExtra("token", response.header("session_token").toString startACtivity(i)
吗?如果我成功了,它会如何工作?
【参考方案1】:
我认为我找到了解决方案。我认为这很好,而且必须工作。
client.newCall(request).enqueue(object : Callback
override fun onResponse(call: Call, response: Response)
startActivity(Intent(this@Login, NavigationMenu::class.java)
.putExtra("session_token", response
.header("session_token")
.toString()))
toast(response.header("text").toString())
【讨论】:
以上是关于如何从 kotlin 中的 json 获得“错误”或“成功”?的主要内容,如果未能解决你的问题,请参考以下文章
如何纠正 android kotlin 发送格式错误的 JSON
从Python JSON迁移到Kotlin JVM JSON
(Kotlin 中的 Moshi)@Json 与 @field:Json