Xbasic
Extension::JsonJsonObjectFlatten Method
Syntax
.JsonObjectFlatten as c (json as C [, separator as C])
Arguments
- jsonCharacter
Json with nested fields we wish to flatten.
- separatorCharacter
Separator to use between parent field and child field names
Description
Flatten subobjects into parent JSON objects - recurses arrays.
Discussion
JsonObjectFlatten recurses into arrays, and flattens nested objects using the field name in the parent, plus a separator to generate a field at the parent object level.
Example
dim json as c = <<%json% [ { "CustomerId" : "AMCE" , "Contact" : { "Firstname" : "Sam" , "Lastname" : "Clark" }, "Address" : { "Street" : "123 Main Street" , "City" : "Springfield" , "State" : "MI" } } ] %json% dim out as c = extension::json::JsonObjectFlatten(json,"__") ? out [ { "CustomerId": "AMCE", "Contact__Firstname": "Sam", "Contact__Lastname": "Clark", "Address__Street": "123 Main Street", "Address__City": "Springfield", "Address__State": "MI" } ]