Sample code for 30+ languages & platforms
Go Requires Chilkat v11.0.0+

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

Go
    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()