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

时间:2019-10-10 16:02:01

标签: android kotlin

我有一个jsonArray对象,例如下面的“ Input”。我想要“输出”。你能帮我吗?

输入:

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

输出:

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

//i need a simple list of string

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

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

3 个答案:

答案 0 :(得分:1)

通过手动解析,您可以通过-

从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()

答案 1 :(得分:0)

您可以这样做:

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

答案 2 :(得分:0)

您可以在Koltin中这样做

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

flatten是必需的,因为它会返回列表列表。