PowerBuilder
PowerBuilder
Create more Complex JSON Document
See more JSON Examples
Sample code to create the following JSON document:
{
"Title": "The Cuckoo's Calling",
"Author": "Robert Galbraith",
"Genre": "classic crime novel",
"Detail": {
"Publisher": "Little Brown",
"Publication_Year": 2013,
"ISBN-13": 9781408704004,
"Language": "English",
"Pages": 494
},
"Price": [
{
"type": "Hardcover",
"price": 16.65
},
{
"type": "Kindle Edition",
"price": 7.00
}
]
}
Chilkat PowerBuilder Downloads
integer li_rc
integer li_Success
oleobject loo_Json
integer li_Index
oleobject loo_Detail
oleobject loo_APrice
oleobject loo_PriceObj
li_Success = 0
loo_Json = create oleobject
li_rc = loo_Json.ConnectToNewObject("Chilkat.JsonObject")
if li_rc < 0 then
destroy loo_Json
MessageBox("Error","Connecting to COM object failed")
return
end if
// The only reason for failure in the following lines of code would be an out-of-memory condition..
// An index value of -1 is used to append at the end.
li_Index = -1
li_Success = loo_Json.AddStringAt(-1,"Title","The Cuckoo's Calling")
li_Success = loo_Json.AddStringAt(-1,"Author","Robert Galbraith")
li_Success = loo_Json.AddStringAt(-1,"Genre","classic crime novel")
// Let's create the Detail JSON object:
loo_Detail = create oleobject
li_rc = loo_Detail.ConnectToNewObject("Chilkat.JsonObject")
loo_Json.AppendObject2("Detail",loo_Detail)
li_Success = loo_Detail.AddStringAt(-1,"Publisher","Little Brown")
li_Success = loo_Detail.AddIntAt(-1,"Publication_Year",2013)
li_Success = loo_Detail.AddNumberAt(-1,"ISBN-13","9781408704004")
li_Success = loo_Detail.AddStringAt(-1,"Language","English")
li_Success = loo_Detail.AddIntAt(-1,"Pages",494)
// Add the array for Price
loo_APrice = create oleobject
li_rc = loo_APrice.ConnectToNewObject("Chilkat.JsonArray")
loo_Json.AppendArray2("Price",loo_APrice)
// Entry in aPrice will be a JSON object.
// Append a new/empty ojbect to the end of the aPrice array.
loo_PriceObj = create oleobject
li_rc = loo_PriceObj.ConnectToNewObject("Chilkat.JsonObject")
loo_APrice.AddObjectAt2(-1,loo_PriceObj)
li_Success = loo_PriceObj.AddStringAt(-1,"type","Hardcover")
li_Success = loo_PriceObj.AddNumberAt(-1,"price","16.65")
loo_APrice.AddObjectAt2(-1,loo_PriceObj)
li_Success = loo_PriceObj.AddStringAt(-1,"type","Kindle Edition")
li_Success = loo_PriceObj.AddNumberAt(-1,"price","7.00")
loo_Json.EmitCompact = 0
Write-Debug loo_Json.Emit()
destroy loo_Json
destroy loo_Detail
destroy loo_APrice
destroy loo_PriceObj