DataFlex
DataFlex
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 DataFlex Downloads
Use ChilkatAx-win32.pkg
Procedure Test
Boolean iSuccess
Handle hoJson
Variant vSampleData
Handle hoSampleData
String sTemp1
Integer iTemp1
Boolean bTemp1
Move False To iSuccess
Get Create (RefClass(cComChilkatJsonObject)) To hoJson
If (Not(IsComObjectCreated(hoJson))) Begin
Send CreateComObject of hoJson
End
Set ComEmitCompact Of hoJson To False
// Assume the file contains the data as shown above..
Get ComLoadFile Of hoJson "qa_data/json/sample2.json" To iSuccess
If (iSuccess = False) Begin
Get ComLastErrorText Of hoJson To sTemp1
Showln sTemp1
Procedure_Return
End
// Get the "sampleData" object:
Get Create (RefClass(cComChilkatJsonObject)) To hoSampleData
If (Not(IsComObjectCreated(hoSampleData))) Begin
Send CreateComObject of hoSampleData
End
Get pvComObject of hoSampleData to vSampleData
Get ComObjectOf2 Of hoJson "sampleData" vSampleData To iSuccess
// Demonstrate BoolAt and BoolOf
Get ComBoolOf Of hoSampleData "hungry" To bTemp1
Showln "hungry: " bTemp1
Get ComBoolAt Of hoSampleData 2 To bTemp1
Showln "hungry: " bTemp1
// StringOf returns the value as a string regardless of it's actual type:
Get ComStringOf Of hoSampleData "pi" To sTemp1
Showln "pi: " sTemp1
Get ComStringOf Of hoSampleData "answer" To sTemp1
Showln "answer: " sTemp1
Get ComStringOf Of hoSampleData "withoutValue" To sTemp1
Showln "withoutValue: " sTemp1
Get ComStringOf Of hoSampleData "hungry" To sTemp1
Showln "hungry: " sTemp1
// Demonstrate IsNullOf / IsNullAt
Get ComIsNullOf Of hoSampleData "withoutValue" To bTemp1
Showln "withoutValue is null? " bTemp1
Get ComIsNullAt Of hoSampleData 3 To bTemp1
Showln "withoutValue is null? " bTemp1
Get ComIsNullOf Of hoSampleData "apple" To bTemp1
Showln "apple is null? " bTemp1
Get ComIsNullAt Of hoSampleData 1 To bTemp1
Showln "apple is null? " bTemp1
// IntOf
Get ComIntOf Of hoSampleData "answer" To iTemp1
Showln "answer: " iTemp1
// SetNullAt, SetNullOf
// Set "pi" to null
Get ComSetNullAt Of hoSampleData 0 To iSuccess
// Set "answer" to null
Get ComSetNullOf Of hoSampleData "answer" To iSuccess
// Show the changes:
Get ComEmit Of hoJson To sTemp1
Showln sTemp1
// Restore pi and apple:
Get ComSetNumberAt Of hoSampleData 0 "3.14" To iSuccess
Get ComSetNumberOf Of hoSampleData "answer" "42" To iSuccess
// Show the changes:
Get ComEmit Of hoJson To sTemp1
Showln sTemp1
// Add a null value named "afterApple" just after "apple"
Get ComAddNullAt Of hoSampleData 2 "afterApple" To iSuccess
// Add a boolean value just after "pi"
Get ComAddBoolAt Of hoSampleData 1 "afterPi" False To iSuccess
// Examine the changes..
Get ComEmit Of hoJson To sTemp1
Showln sTemp1
End_Procedure