kotlin/java how to convert string array to array?

Advertisements

I have an API that returns this type of data

{
"images":"[image1.png,image2.png,image3.png]"
}

how do you convert images string to array?

>Solution :

You need to get the string from the json object using jsonObject.getString("images") & then remove [] brackets. Then you need to use split on that string using , delimiter.

Java Code:

private String[] convertStringToArray(String s) {
        s = s.replaceAll("\\[", "");
        s = s.replaceAll("]", "");
        return s.split(",");
    }

Usage:

 try {
            JSONObject jsonObject = new JSONObject(response);
            String images = jsonObject.getString("images");
            String[] a = convertStringToArray(images);
            Log.d("MG-array", a.toString());
        } catch (JSONException e) {
            e.printStackTrace();
        }

Kotlin:

private fun convertStringToArray(s: String): Array<String> {
        var varString = s
        varString = varString.replace("\\[".toRegex(), "")
        varString = varString.replace("]".toRegex(), "")
        return varString.split(",").toTypedArray()
    }

Usage:

try {
            val jsonObject = JSONObject(response)
            val images = jsonObject.getString("images")
            val a = convertStringToArray(images)
            Log.d("MG-array", a.toString())
        } catch (e: JSONException) {
            e.printStackTrace()
        }

Leave a ReplyCancel reply