JSONObject features:
- Added Binary and DateTime constants to LiteralType
- Added base64.inc to handle creating of binary data fields
- New methods .SetDateValue(date) and .SetTimeValue(time)
- New methods .GetPropertyBooleanValue, .GetPropertyBinaryValue, .GetPropertyDateValue, .GetPropertyTimeValue,
- New method .GetPropertyUtf8Value converts from propery value from Utf8 to Ansi for Clarion displaying
- New methods .AddBase64String
- Added an optional parameter omitEmpty to .Add(*GROUP) to skip numerics with value 0 and strings with value ''
- .Add(*GROUP) identifies literal types when EXTERNAL('') name is suffixed by '|JSONBINARY', '|JSONBOOLEAN', '|JSONDATE' or '|JSONTIME'
- .Stringify adds "" to new LiteralTypes and encodes binary values to base64
Fixes:
- When adding groups inside groups, fields of inner groups where added twice. Added internal funtion GroupFieldsCount(*GROUP) to skip them.
- Check .Chidren for null in .ClearChildren()