【问题标题】:How to convert a map to escaped string in json form in kotlin? [duplicate]如何在kotlin中将地图转换为json形式的转义字符串? [复制]
【发布时间】:2020-06-23 17:27:13
【问题描述】:

我有一个 mutableMap,

val invoiceAdditionalAttribute = mutableMapOf<String, Any?>()
invoiceAdditionalAttribute.put("clinetId",12345)
invoiceAdditionalAttribute.put("clientName", "digital")
invoiceAdditionalAttribute.put("payload", "xyz")

我想把它转换成看起来像转义 json 的字符串

输出应该是,

"{\"clinetId\":\"12345\", \"clientName\":\"digital\", \"payload\":\"xyz\"}"

目前,我正在使用 Gson 库,

val json = gson.toJson(invoiceAdditionalAttribute)

输出是

{"clinetId":12345,"clientName":"digital","payload":"xyz"}

【问题讨论】:

    标签: java json kotlin gson objectmapper


    【解决方案1】:

    String 类上使用replace 扩展函数:

    val invoiceAdditionalAttribute = mutableMapOf<String, Any?>()
    invoiceAdditionalAttribute["clinetId"] = 12345.toString()
    invoiceAdditionalAttribute["clientName"] = "digital"
    invoiceAdditionalAttribute["payload"] = "xyz"
    
    val json = gson.toJson(invoiceAdditionalAttribute)
            .replace("\"", "\\\"")
    

    json 现在包含字符串:

    {\"clinetId\":\"12345\",\"clientName\":\"digital\",\"payload\":\"xyz\"}
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-03-22
      • 1970-01-01
      • 2012-05-03
      • 1970-01-01
      • 2011-08-13
      • 2019-10-24
      • 2021-10-10
      • 1970-01-01
      相关资源
      最近更新 更多