Swift
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
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()!)")
}