structSetMetadata

Sets metadata for a key in a struct. When you want to SerializeJSON, the key and the value will be display as you defined in the metadata.

structSetMetadata(inputStruct, metaStruct) → returns void

Member Function Syntax

inputStruct.setMetadata(metaStruct)

Argument Reference

inputStruct struct
Required

The struct in which you want to add the metadata.

metaStruct struct
Required

The metadata struct you want to add.

Compatibility

RustCFML:

Throws (Adobe-CF-only, not in Lucee either).

Examples
Sample code invoking the structSetMetadata function

Add metadata to a struct and serialize to a json.
It is changing the keyname and convert a string ("20") to a number.

testStruct = structNew("ordered");
testStruct.testdata = "example";
testStruct.testdata2 = "20";
metadata = {
    testdata: {type: "string", name: "td1" },
    testdata2: {type: "numeric", name: "td2" }
};
StructSetMetadata(testStruct,metadata);
writeoutput(SerializeJSON(testStruct));

Expected Result: {"td1":"example", "td2":20.0}

Add metadata to a struct and serialize to a json.
It is changing the keyname and convert a string ("20") to a number.

testStruct = structNew("ordered");
testStruct.testdata = "example";
testStruct.testdata2 = "20";
metadata = {
    testdata: {type: "string", name: "td1" },
    testdata2: {type: "numeric", name: "td2" }
};
testStruct.setMetadata(metadata);
writeoutput(SerializeJSON(testStruct));

Expected Result: {"td1":"example", "td2":20.0}

Signup for cfbreak to stay updated on the latest news from the ColdFusion / CFML community. One email, every friday.

Fork me on GitHub