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)

This function requires Adobe ColdFusion 2016.0.2 and up.  Not supported on Lucee, etc.

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.

Examples
Sample code invoking the structSetMetadata function

Add metadata to a struct and serialze 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 serialze 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