From c59cfd939dd479799a12710d43dffff1e6107126 Mon Sep 17 00:00:00 2001 From: LamGC Date: Sun, 24 Apr 2022 13:14:04 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20JsonObjectBuilder=20=E7=8E=B0?= =?UTF-8?q?=E5=9C=A8=E5=8F=AF=E4=BB=A5=E5=AE=89=E5=85=A8=E6=8E=A5=E6=94=B6?= =?UTF-8?q?=20Null.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 当传值为 null 时, 将不会抛出 NPE, 而是插入 JsonNull. --- src/main/kotlin/Utils.kt | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/Utils.kt b/src/main/kotlin/Utils.kt index 73541c2..69c04da 100644 --- a/src/main/kotlin/Utils.kt +++ b/src/main/kotlin/Utils.kt @@ -407,28 +407,28 @@ fun getProfileByCallback(callback: InlineKeyboardCallback): OracleAccountProfile class JsonObjectBuilder(private val jsonObject: JsonObject) { - operator fun String.plusAssign(json: JsonElement) { + operator fun String.plusAssign(json: JsonElement?) { jsonObject.add(this, json) } - operator fun String.plusAssign(value: String) { + operator fun String.plusAssign(value: String?) { jsonObject.addProperty(this, value) } - operator fun String.plusAssign(value: Boolean) { + operator fun String.plusAssign(value: Boolean?) { jsonObject.addProperty(this, value) } - operator fun String.plusAssign(value: Char) { + operator fun String.plusAssign(value: Char?) { jsonObject.addProperty(this, value) } - operator fun String.plusAssign(value: Number) { + operator fun String.plusAssign(value: Number?) { jsonObject.addProperty(this, value) } - operator fun String.plusAssign(value: Any) { - jsonObject.add(this, gson.toJsonTree(value)) + operator fun String.plusAssign(value: Any?) { + jsonObject.add(this, if (value == null) JsonNull.INSTANCE else gson.toJsonTree(value)) } fun String.delete(setNull: Boolean = false) {