我有一个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
,因为它返回列表列表。