| None. |
|
Creates an owned empty, insertion-ordered JSON object. An object maps keys to values - the natural container for a save-game record, a settings block or a level descriptor. It starts empty; fill it with JsonObjectSet, read fields with JsonObjectGet, probe with JsonObjectHas, and walk it in order with JsonCount and JsonObjectKey. Objects preserve insertion order: keys come back, and are serialized, in the order you added them, so your save files stay tidy and diff-friendly. Replacing an existing key keeps its position; removing a key and adding it again places it at the end. Keys are case-sensitive UTF-8 compared exactly, and duplicate keys cannot exist. The setters copy their input value, so free each temporary handle right after setting it. The returned handle is owned by you: release it with FreeJson, and save the finished document with SaveJsonAtomic. For the full rules, see the Application Data language reference. See also: JsonObjectSet, JsonObjectGet, JsonObjectKey, CreateJsonArray, SaveJsonAtomic, FreeJson. |
; CreateJsonObject Example
; ------------------------
; CreateJsonObject makes an empty, insertion-ordered JSON object -
; the natural container for a save-game record.
save=CreateJsonObject()
Print "New object, fields: "+JsonCount(save)
; Fill in the save-game fields (setters copy their input,
; so each temporary handle is freed right after use)
v=CreateJsonString("Aria")
JsonObjectSet save,"player",v
FreeJson v
v=CreateJsonInteger(7L)
JsonObjectSet save,"level",v
FreeJson v
v=CreateJsonInteger(1250L)
JsonObjectSet save,"gold",v
FreeJson v
Print "After filling, fields: "+JsonCount(save)
Print ""
; Keys come back in the order they were inserted
Print "Finished save-game record:"
Print JsonStringify(save,2)
FreeJson save
Print ""
Print "Press any key to close the example"
WaitKey
End