如何在Kotlin中将HashMap转换为JSON

bq3bfh9z  于 2023-06-24  发布在  Kotlin
关注(0)|答案(6)|浏览(341)

我在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"}
vybvopom

vybvopom1#

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

JSONObject(map).toString()
ssm49v7z

ssm49v7z2#

你可以使用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"}
tag5nh1u

tag5nh1u3#

使用kotlinx.序列化:

import kotlinx.serialization.*
import kotlinx.serialization.json.*

fun main() {
   var store = HashMap<String, String>()
   var jsonString= Json.encodeToString(store)
   var anotherStore = Json.decodeFromString(jsonString)
}
9nvpjoqh

9nvpjoqh4#

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

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

bnlyeluc5#

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

val json = Klaxon().toJsonString(map)
fxnxkyjh

fxnxkyjh6#

在Kotlin中有几种方法可以将HashMap转换为JSON。这里有两种方法:

  • 使用JSONObject和JSONArray:
  • 创建一个带有一些键值对的HashMap:
val hashMap = HashMap<String, Any>()
hashMap["name"] = "John"
hashMap["age"] = 30
hashMap["married"] = true
  • 将HashMap转换为JSONObject:
val jsonObject = JSONObject(hashMap)
  • 将JSONObject转换为JSON字符串:
val jsonString = jsonObject.toString()
  • 使用Gson库:
  • 将Gson依赖项添加到您的项目中,方法是将以下行添加到您的应用级build.gradle文件中:
implementation 'com.google.code.gson:gson:2.8.6'
  • 创建一个带有一些键值对的HashMap:
val hashMap = HashMap<String, Any>()
hashMap["name"] = "John"
hashMap["age"] = 30
hashMap["married"] = true
  • 使用Gson将HashMap转换为JSON字符串:
val gson = Gson()
val jsonString = gson.toJson(hashMap)

我希望这对你有帮助!

相关问题