我在 Kotlin 中有一个 HashMap
val map = HashMap<String, String>()
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value3");
如何将其转换为JSON格式的字符串?例如:
{"key1": "value1", "key2": "value2", "key3": "value3"}
我在 Kotlin 中有一个 HashMap
val map = HashMap<String, String>()
map.put("key1","value1");
map.put("key2","value2");
map.put("key3","value3");
如何将其转换为JSON格式的字符串?例如:
{"key1": "value1", "key2": "value2", "key3": "value3"}
您可以使用随 Android 一起提供的 org.json
:
JSONObject(map).toString()
Java类型不匹配,期望(可变)Map <(原始) Any?,(原始) Any?>!但找到(可变)Map <String!,String!>。使用显式转换
。 - Bitwise DEVSval 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"}
import kotlinx.serialization.*
import kotlinx.serialization.json.*
fun main() {
var store = HashMap<String, String>()
var jsonString= Json.encodeToString(store)
var anotherStore = Json.decodeFromString(jsonString)
}
<String, Any>
的哈希映射时,出现了 SerializationException: Serializer for class 'Any' is not found.
。 - iamcrypticcoder如果有人在Kotlin中遇到问题,可以像这样使用gson:
val gson = Gson()
val json = JSONObject(gson.toJson(map))