Try OpenEdge Now
skip to main content
New and Revised Features
What's New in 11.7 : OpenEdge ABL enhancements : JSON improvements
 

JSON improvements

OpenEdge Release 11.7 supports the following improvements to JSON management in ABL:
*Serialization and deserialization of Progress.Lang.Object fields — Previous releases have supported the ability to serialize and deserialize ABL class-based objects to and from a JSON representation using methods of the built-in Progress.IO.JsonSerializer class. However, handle methods for reading and writing JSON representations of buffers, temp-tables, and ProDataSets were restricted from serializing and deserializing any Progress.Lang.Object fields for temp-tables.
With this release, both the WRITE-JSON( ) and SERIALIZE-ROW( ) methods now serialize these fields for any buffers, temp-tables, and ProDataSets that they write to a JSON representation. Also, the READ-JSON( ) method deserializes these fields for any JSON representation that it reads into buffers, temp-tables, and ProDataSets.
*Writing a JsonArray or JsonObject object target from an ABL data object — Previous releases have supported the ability to read a Progress.Json.ObjectModel.JsonArray or Progress.Json.ObjectModel.JsonObject source into an appropriate buffer, temp-table, or ProDataSet object handle using its READ-JSON( ) method. However, writing to similar JsonArray and JsonObject targets using the WRITE-JSON( ) and SERIALIZE-ROW( ) methods was not supported.
With this release, both the WRITE-JSON( ) and SERIALIZE-ROW( ) methods can now write to an appropriate Progress.Json.ObjectModel.JsonArray or Progress.Json.ObjectModel.JsonObject target when called on a corresponding buffer, temp-table, or ProDataSet object handle.
This support includes changes to some of the options available when calling these methods for the new targets, for example, use of the omit-outer-object parameter when calling WRITE-JSON( ).
For more information, see:
Manuals:
OpenEdge Development: ABL Reference
OpenEdge Development: Working with JSON