Sample code for 30+ languages & platforms
Swift

JSON: Nested Objects

See more JSON Examples

Here we have a JSON object that contains nested JSON objects. This example demonstrates how to access the contents of the nested objects.
{
  "name": "donut",
  "image":
    {
    "fname": "donut.jpg",
    "w": 200,
    "h": 200
    },
  "thumbnail":
    {
    "fname": "donutThumb.jpg",
    "w": 32,
    "h": 32
    }
}

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    let json = CkoJsonObject()!

    // This is the above JSON with whitespace chars removed (SPACE, TAB, CR, and LF chars).
    // The presence of whitespace chars for pretty-printing makes no difference to the Load
    // method. 
    var jsonStr: String? = "{\"name\": \"donut\",\"image\":{\"fname\": \"donut.jpg\",\"w\": 200,\"h\": 200},\"thumbnail\":{\"fname\": \"donutThumb.jpg\",\"w\": 32,\"h\": 32}}"

    success = json.load(json: jsonStr)
    if success == false {
        print("\(json.lastErrorText!)")
        return
    }

    // Get the "image" object.
    let imageObj = CkoJsonObject()!
    json.objectOf2(jsonPath: "image", jsonObj: imageObj)

    print("image: fname=\(imageObj.string(of: "fname")!), width=\(imageObj.int(of: "w").intValue), height=\(imageObj.int(of: "h").intValue)")

    // Get the "thumbnail" object.
    let thumbObj = CkoJsonObject()!
    json.objectOf2(jsonPath: "thumbnail", jsonObj: thumbObj)

    print("thumbnail: fname=\(thumbObj.string(of: "fname")!), width=\(thumbObj.int(of: "w").intValue), height=\(thumbObj.int(of: "h").intValue)")

}