Sample code for 30+ languages & platforms
Xojo Plugin 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 Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

Dim json As New Chilkat.JsonObject
json.EmitCompact = False

//  Assume the file contains the data as shown above..
success = json.LoadFile("qa_data/json/sample2.json")
If (success = False) Then
    System.DebugLog(json.LastErrorText)
    Return
End If

//  Get the "sampleData" object:
Dim sampleData As New Chilkat.JsonObject
success = json.ObjectOf2("sampleData",sampleData)

//  Demonstrate BoolAt and BoolOf
System.DebugLog("hungry: " + Str(sampleData.BoolOf("hungry")))
System.DebugLog("hungry: " + Str(sampleData.BoolAt(2)))

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

//  Demonstrate IsNullOf / IsNullAt
System.DebugLog("withoutValue is null? " + Str(sampleData.IsNullOf("withoutValue")))
System.DebugLog("withoutValue is null? " + Str(sampleData.IsNullAt(3)))
System.DebugLog("apple is null? " + Str(sampleData.IsNullOf("apple")))
System.DebugLog("apple is null? " + Str(sampleData.IsNullAt(1)))

//  IntOf
System.DebugLog("answer: " + Str(sampleData.IntOf("answer")))

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

//  Show the changes:
System.DebugLog(json.Emit())

//  Restore pi and apple:
success = sampleData.SetNumberAt(0,"3.14")
success = sampleData.SetNumberOf("answer","42")

//  Show the changes:
System.DebugLog(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..
System.DebugLog(json.Emit())