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

B4X
Dim success As Boolean = False

Dim json As ChilkatJsonObject
json.Initialize
json.EmitCompact = False

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


'  Get the "sampleData" object:
Dim sampleData As ChilkatJsonObject
sampleData.Initialize
json.ObjectOf2("sampleData", sampleData)

'  Demonstrate BoolAt and BoolOf
Log("hungry: " & sampleData.BoolOf("hungry"))
Log("hungry: " & sampleData.BoolAt(2))

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

'  Demonstrate IsNullOf / IsNullAt
Log("withoutValue is null? " & sampleData.IsNullOf("withoutValue"))
Log("withoutValue is null? " & sampleData.IsNullAt(3))
Log("apple is null? " & sampleData.IsNullOf("apple"))
Log("apple is null? " & sampleData.IsNullAt(1))

'  IntOf
Log("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:
Log(json.Emit)

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

'  Show the changes:
Log(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..
Log(json.Emit)