如何从 JSONArray 创建字符串列表?



我有一个jsonArray对象,类似于下面的"输入"。我想要"输出"。你能帮我吗?

输入:

"["a", "b", "c", "d"]"

输出:

["a", "b", "c", "d"]
//i need a simple list of string

我找到了一个解决方案,但对于简单的转换来说太复杂了......

val errorFields = jsonResponse.getJSONArray("my_array")
.join(",")
.replace(""", "")
.split(",")

通过手动解析,你可以通过以下方式从 jsonArray 获取字符串列表 -

val list = ArrayList<String>()
repeat(jsonArray.length){
list.add(jsonArray.getString(it))
}

如果您使用的是解析库 gson,则可以通过以下方式获取字符串列表 -

val list = gson.fromJson(jsonArray.toString(), Array<String>::class.java)?.toList()

你可以这样做:

val stringList : MutableList<String> = arrayListOf()
jsonArray?.let {
for (i in 0 until it.length()) {
stringList.add(jsonArray.getString(i))
}

你可以在科尔廷这样做

var str = "["a", "b", "c", "d"]" var items = Arrays.asList(str?.split("\s*,\s*")).flatten()

需要flatten,因为它返回列表列表。

最新更新