Sample code for 30+ languages & platforms
Go

Loading and Parsing a JSON Array

See more JSON Examples

A JSON array is JSON that begins with "[" and ends with "]". For example, this is a JSON array that contains 3 JSON objects.
[{"name":"jack"},{"name":"john"},{"name":"joe"}]
A JSON object, however, is JSON that begins with "{" and ends with "}". For example, this JSON is an object that contains an array.
{"pets":[{"name":"jack"},{"name":"john"},{"name":"joe"}]}
This example shows how loading a JSON array is different than loading a JSON object.

Chilkat Go Downloads

Go
    strJsonArray := "[{\"name\":\"jack\"},{\"name\":\"john\"},{\"name\":\"joe\"}]"

    strJsonObject := "{\"pets\":[{\"name\":\"jack\"},{\"name\":\"john\"},{\"name\":\"joe\"}]}"

    // A JSON array must be loaded using JsonArray:
    jsonArray := chilkat.NewJsonArray()
    jsonArray.Load(strJsonArray)

    // Examine the values:
    i := 0
    for i < jsonArray.Size() {
        jsonObj := jsonArray.ObjectAt(i)
        fmt.Println(i, ": ", *jsonObj.StringOf("name"))
        jsonObj.DisposeJsonObject()
        i = i + 1
    }

    // Output is:

    // 	0: jack
    // 	1: john
    // 	2: joe

    // A JSON object must be loaded using JsonObject
    jsonObject := chilkat.NewJsonObject()
    jsonObject.Load(strJsonObject)

    // Examine the values:
    i = 0
    numPets := jsonObject.SizeOfArray("pets")
    for i < numPets {
        jsonObject.SetI(i)
        fmt.Println(i, ": ", *jsonObject.StringOf("pets[i].name"))
        i = i + 1
    }

    // Output is:

    // 	0: jack
    // 	1: john
    // 	2: joe

    jsonArray.DisposeJsonArray()
    jsonObject.DisposeJsonObject()