如何在 Kotlin 中将 HashMap 转换为 JSON

Asa*_*hry 16 android hashmap kotlin

我在 Kotlin 中有 HashMap

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

如何将其转换为 JSON 格式的字符串?喜欢

{"key1": "value1", "key2": "value2", "key3": "value3"}
Run Code Online (Sandbox Code Playgroud)

Mih*_*x64 34

您可以使用org.jsonAndroid 附带的功能:

JSONObject(map).toString()
Run Code Online (Sandbox Code Playgroud)


Cha*_*rma 16

你可以使用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())
Run Code Online (Sandbox Code Playgroud)

和输出是,

{"key1":"value1","key2":"value2","key3":"value3"}
Run Code Online (Sandbox Code Playgroud)


bk1*_*138 9

使用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)
}

Run Code Online (Sandbox Code Playgroud)