Skip to content

JSON Parsing (org.json)

import org.json.*
  • JSONArray
  • JSONObject
  • Pass a string with valid JSON format to JSONArray or JSONObject
  • Get a value of key with jsonObject[<index>] or jsonObject.get<DataType>
  • To get a jsonObject in jsonObject use .getJSONObject(<key>)
  • To get a jsonObject in jsonArray use .getJSONObject(<index>)
val jsonString = """
{
"name": "Elias",
"birthday": "2010-05-15",
"favorite": "Coding"
}
""".trimIndent()
val jsonObject = JSONObject(jsonString)
val name = jsonObject.getString("name")
val birthday = jsonObject.getString("birthday")
val favorite = jsonObject.getString("favorite")
println("Name: $name")
println("Birthday: $birthday")
println("Favorite: $favorite")
val jsonString = """
{
"name": "Elias",
"hobbies": ["Coding", "Reading", "Writing"]
}
""".trimIndent()
val jsonObject = JSONObject(jsonString)
val name = jsonObject.getString("name")
val hobbiesArray = jsonObject.getJSONArray("hobbies")
println("Name: $name")
println("Hobbies:")
for (i in 0 until hobbiesArray.length()) {
val hobby = hobbiesArray.getString(i)
println("- $hobby")
}
val name = "Elias"
val age = 14
val hobbies = listOf("Coding", "Reading", "Gaming")
// Create a JSON array from the hobbies list
val hobbiesJsonArray = JSONArray()
for (hobby in hobbies) {
hobbiesJsonArray.put(hobby)
}
// Create the JSON object and put data into it
val jsonObject = JSONObject()
jsonObject.put("name", name)
jsonObject.put("age", age)
jsonObject.put("hobbies", hobbiesJsonArray)
// Output the final JSON string
println(jsonObject.toString(2)) // Pretty print with 2 spaces