Go
Go
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 Go Downloads
success := false
json := chilkat.NewJsonObject()
json.SetEmitCompact(false)
// Assume the file contains the data as shown above..
success = json.LoadFile("qa_data/json/sample2.json")
if success == false {
fmt.Println(json.LastErrorText())
json.DisposeJsonObject()
return
}
// Get the "sampleData" object:
sampleData := chilkat.NewJsonObject()
json.ObjectOf2("sampleData",sampleData)
// Demonstrate BoolAt and BoolOf
fmt.Println("hungry: ", *sampleData.BoolOf("hungry"))
fmt.Println("hungry: ", *sampleData.BoolAt(2))
// StringOf returns the value as a string regardless of it's actual type:
fmt.Println("pi: ", *sampleData.StringOf("pi"))
fmt.Println("answer: ", *sampleData.StringOf("answer"))
fmt.Println("withoutValue: ", *sampleData.StringOf("withoutValue"))
fmt.Println("hungry: ", *sampleData.StringOf("hungry"))
// Demonstrate IsNullOf / IsNullAt
fmt.Println("withoutValue is null? ", *sampleData.IsNullOf("withoutValue"))
fmt.Println("withoutValue is null? ", *sampleData.IsNullAt(3))
fmt.Println("apple is null? ", *sampleData.IsNullOf("apple"))
fmt.Println("apple is null? ", *sampleData.IsNullAt(1))
// IntOf
fmt.Println("answer: ", sampleData.IntOf("answer"))
// SetNullAt, SetNullOf
// Set "pi" to null
success = sampleData.SetNullAt(0)
// Set "answer" to null
success = sampleData.SetNullOf("answer")
// Show the changes:
fmt.Println(*json.Emit())
// Restore pi and apple:
success = sampleData.SetNumberAt(0,"3.14")
success = sampleData.SetNumberOf("answer","42")
// Show the changes:
fmt.Println(*json.Emit())
// Add a null value named "afterApple" just after "apple"
success = sampleData.AddNullAt(2,"afterApple")
// Add a boolean value just after "pi"
success = sampleData.AddBoolAt(1,"afterPi",false)
// Examine the changes..
fmt.Println(*json.Emit())
json.DisposeJsonObject()
sampleData.DisposeJsonObject()