
Allows you to map a property name in a JSON string to a new name. This can be useful if you created JSON from a FoxPro objects, but need to create a property name that FoxPro's property limitations don't allow for, such as property names with spaces or special characters.
Unlike
PropertyNameOverrides
which can only transform case on properties, theMapPropertyName()
method allows you to map property names to any value including those that FoxPro properties would not otherwise support, such as names with spaces or special characters.
o.MapPropertyName(@lcJson, lcOriginal,lcNewName)
Return Value
(preferrably pass by reference and ignore) - otherwise returns updated JSON string
Parameters
@lcJson
The JSON document as a string. Preferrably pass by reference so the value is updated in place. Otherwise the method can return the new JSON string.
lcOriginalName
The original name to replace in the JSON string
lcNewName
The name to change it to.
Example
The following example creates JSON properties with spaces:
loSer = CREATEOBJECT("wwJsonSerializer")
loObj = CREATEOBJECT("EMPTY")
ADDPROPERTY(loObj,"LastName","Strahl")
ADDPROPERTY(loObj,"FirstName","Rick")
*** Create initial JSON
*** { "lastname": "Strahl", "firstname": "Rick" }
lcJson = loSer.Serialize(loObj)
*** Now update the property names
loSer.MapPropertyName(@lcJson, "lastName","Last Name")
loSer.MapPropertyName(@lcJson, "firstName","First Name")
*** { "Last Name": "Strahl", "First Name": "Rick" }
? lcJson
See also:
Class wwJsonSerializer | wwJsonSerializer::PropertyNameOverrides© West Wind Technologies, 2023 • Updated: 12/20/21
Comment or report problem with topic