我需要这样写一行:
{"chat": {"a": "get_history"}}
尝试这样做:
val getHistory = JSONStringer().`object`().key("chat")
.value(JSONStringer().`object`().key("a").value("get_history").endObject().toString().replace("\'", "")).endObject().toString()
像这样尝试过:
val jsonFormattedString = JSONTokener(jsonObject.toString()).nextValue().toString()
val jsonObject2 = JsonObject()
jsonObject2.addProperty("chat", jsonFormattedString)
结果总是这样:
{"chat":"{\"a\":\"get_history\"}"}
虽然这部分结果是:
{"a":"get_history"}
我试图以这种方式删除它,.replace("\\\'", "")
最后没有任何反应。您如何实现最初需要的选项?
更新
最糟糕的工作选择:
val testValue: MutableMap<String, String> = HashMap()
testValue["chat"] = JSONStringer().`object`().key("a").value("get_history").endObject().toString()
然后得到这样的字符串:
testValue.toString().replace("=",":")
也许有人会有一些意见)
我所有的选择当然都很好,但它们需要大量的身体动作。例如,需要在 json 形成并蒸馏成字符串后删除一些字符。这很困难,也不是很正确。所以最后我这样做了:
结果我们得到了一个足够的 json 字符串。