Sample code for 30+ languages & platforms
Swift

JSON: Miscellaneous Operations

See more JSON Examples

Demonstrates a variety of JSON API methods. This example uses the following JSON document:
{
   "alphabet": "abcdefghijklmnopqrstuvwxyz",
   "sampleData" : {
           "pi": 3.14,
	   "apple": "juicy",
	   "hungry": true,
	   "withoutValue": null,
           "answer": 42
          
	}
}

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

    let json = CkoJsonObject()!
    json.emitCompact = false

    // Assume the file contains the data as shown above..
    success = json.loadFile(path: "qa_data/json/sample2.json")
    if success == false {
        print("\(json.lastErrorText!)")
        return
    }

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

    // Demonstrate BoolAt and BoolOf
    print("hungry: \(sampleData.bool(of: "hungry"))")
    print("hungry: \(sampleData.bool(at: 2))")

    // StringOf returns the value as a string regardless of it's actual type:
    print("pi: \(sampleData.string(of: "pi")!)")
    print("answer: \(sampleData.string(of: "answer")!)")
    print("withoutValue: \(sampleData.string(of: "withoutValue")!)")
    print("hungry: \(sampleData.string(of: "hungry")!)")

    // Demonstrate IsNullOf / IsNullAt
    print("withoutValue is null? \(sampleData.isNull(of: "withoutValue"))")
    print("withoutValue is null? \(sampleData.isNull(at: 3))")
    print("apple is null? \(sampleData.isNull(of: "apple"))")
    print("apple is null? \(sampleData.isNull(at: 1))")

    // IntOf
    print("answer: \(sampleData.int(of: "answer").intValue)")

    // SetNullAt, SetNullOf
    // Set "pi" to null
    success = sampleData.setNull(at: 0)
    // Set "answer" to null
    success = sampleData.setNull(of: "answer")

    // Show the changes:
    print("\(json.emit()!)")

    // Restore pi and apple:
    success = sampleData.setNumber(at: 0, value: "3.14")
    success = sampleData.setNumber(of: "answer", value: "42")

    // Show the changes:
    print("\(json.emit()!)")

    // Add a null value named "afterApple" just after "apple"
    success = sampleData.addNull(at: 2, name: "afterApple")

    // Add a boolean value just after "pi"
    success = sampleData.addBool(at: 1, name: "afterPi", value: false)

    // Examine the changes..
    print("\(json.emit()!)")

}