<cffunction name="StructToObject" access="public" returntype="string" output="false"
hint="Converts a ColdFusion struct of SIMPLE values into a Javascript object. Will return strings in the form of: new Object({})">
<cfargument name="Data" type="struct" required="true" />
<cfscript>
var LOCAL = StructNew();
LOCAL.ResponseBuffer = CreateObject( "java", "java.lang.StringBuffer" );
LOCAL.ResponseBuffer.Append( "{" );
LOCAL.KeyCount = StructCount( ARGUMENTS.Data );
LOCAL.KeyIndex = 1;
for (LOCAL.Key in ARGUMENTS.Data){
LOCAL.Value = ARGUMENTS.Data[ LOCAL.Key ];
LOCAL.ResponseBuffer.Append( LCase( LOCAL.Key ) & ":""" & REReplace( LOCAL.Value, "(""|\\)", "\\\1", "ALL" ) & """" );
if (LOCAL.KeyIndex LT LOCAL.KeyCount){
LOCAL.ResponseBuffer.Append( "," );
}
LOCAL.KeyIndex = (LOCAL.KeyIndex + 1);
}
LOCAL.ResponseBuffer.Append( "}" );
return( LOCAL.ResponseBuffer.ToString() );
</cfscript>
</cffunction>