Unionsshall be encoded as JSON objects as shown in Table 41for the reversible encoding.
Table 41– JSON Object Definition for a Union
Name |
Description |
SwitchField |
The identifier for the field in the Union which is encoded as a JSON number. The valid values for this field follow the conventions defined in 5.2.8. If the SwitchFieldvalue is its DefaultValueof 0, then the SwitchFieldand the Valuefield are not present. |
Value |
The value of the field encoded using the rules that apply to the data type. |
For the non-reversible form, Unionvalues are encoded using the rule for the current value. If the SwitchFieldis 0 the Unionis encoded as a JSON null value.
For example, instances of the union:
struct Union1
{
Byte Selector;
{
Int32 A;
Double B;
Char* C;
}
Value;
};
would be represented in reversible form as:
{ "SwitchField":2, "Value":3.1415 }
In non-reversible form, it is represented as:
3.1415