【问题标题】:How to convert HashMap to JSON in Kotlin如何在 Kotlin 中将 HashMap 转换为 JSON
【发布时间】:2019-10-24 19:29:56
【问题描述】:

我在 Kotlin 中有 HashMap

val map = HashMap<String, String>()
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value3");

如何转换成JSON格式的String?喜欢

{"key1": "value1", "key2": "value2", "key3": "value3"}

【问题讨论】:

  • 使用Gson将Hashmap转为Json

标签: android kotlin hashmap


【解决方案1】:

您可以使用 Android 自带的org.json

JSONObject(map).toString()

【讨论】:

  • 要映射的字符串怎么样?
  • @ZulqurnainJutt,你的意思是一个带有JSON对象的字符串,即向后转换?
【解决方案2】:

您可以为此使用Gson

这是一个例子,

val map = HashMap<String, String>()
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value3");

val gson = Gson()
Log.d("TAG", gson.toJson(map).toString())

输出是,

{"key1":"value1","key2":"value2","key3":"value3"}

【讨论】:

    【解决方案3】:

    如果有人在 Koltlin 中遇到问题,您可以像这样使用 gson:

    val gson = Gson()
    val json = JSONObject(gson.toJson(map))
    

    【讨论】:

      【解决方案4】:

      如果您使用的是klaxon,那么它就是:

      val json = Klaxon().toJsonString(map)
      

      【讨论】:

        【解决方案5】:

        使用kotlinx.serialization:

        import kotlinx.serialization.*
        import kotlinx.serialization.json.*
        
        fun main() {
           var store = HashMap<String, String>()
           var jsonString= Json.encodeToString(store)
           var anotherStore = Json.decodeFromString(jsonString)
        }
        
        

        【讨论】:

          猜你喜欢
          • 2021-10-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2013-03-02
          • 2012-08-22
          • 2014-05-19
          • 1970-01-01
          相关资源
          最近更新 更多