WddxSerializer object



The WddxSerializer object includes functions that serialize any JavaScript data structure. For more information on using this object, see Using WDDX in the Developing ColdFusion Applications.

Functions

The only function that developers typically call is serialize.

Function syntax

Description

object.serialize(rootobj)

Creates a WDDX packet for a passed WddxRecordset instance.

object.serializeVariable(name, obj)

Serializes a property of a structure. If an object is not a string, number, array, Boolean, or a date, WddxSerializer treats it as a structure.

object.serializeValue(obj)

Recursively serializes eligible data in a passed instance.

object.write(str)

Appends data to the serialized data stream.

serialize

Description

Creates a WDDX packet for a passed WddxRecordset instance.

Syntax

object.serialize( rootobj )

Parameters

Parameter

Description

object

Instance name of the WddxSerializer object

rootobj

JavaScript data structure to serialize

Return value

Returns a serialized WDDX packet as a string if the function succeeds, or a null value if an error occurs.

Usage

Call this function to serialize the data in a WddxRecordset instance.

Example

This example shows a JavaScript function that you can call to serialize a WddxRecordset instance. It copies serialized data to a form field for display:

function serializeData(data, formField) 
{ 
    wddxSerializer = new WddxSerializer(); 
    wddxPacket = wddxSerializer.serialize(data); 
    if (wddxPacket != null) 
    { 
        formField.value = wddxPacket; 
    } 
    else 
    { 
        alert("Couldn't serialize data"); 
    } 
}

serializeVariable

Description

Serializes a property of a structure. If an object is not a string, number, array, Boolean, or date, WddxSerializer treats it as a structure.

Syntax

object.serializeVariable( name, obj )

Parameters

Parameter

Description

object

Instance name of a WddxSerializer object

name

Property to serialize

obj

Instance name of the value to serialize

Return value

Returns a Boolean True if serialization was successful; False, otherwise.

This is an internal function; you do not typically call it.

Example

This example is from the WddxSerializer serializeValue function:

... 
// Some generic object; treat it as a structure 
    this.write("<struct>"); 
    for (prop in obj) 
    { 
        bSuccess = this.serializeVariable(prop, obj[prop]); 
        if (! bSuccess) 
        { 
            break; 
        } 
    } 
    this.write("</struct>"); 
...

serializeValue

Description

Recursively serializes eligible data in a passed instance. Eligible data includes:

  • String

  • Number

  • Boolean

  • Date

  • Array

  • Recordset

  • Any JavaScript object

    This function serializes null values as empty strings.

Syntax

object.serializeValue( obj )

Parameters

Parameter

Description

object

Instance name of the WddxSerializer object

obj

Instance name of the WddxRecordset object to serialize

Return value

Returns a Boolean True if obj was serialized successfully; False, otherwise.

Usage

This is an internal function; you do not typically call it.

Example

This example is from the WddxSerializer serialize function:

... 
this.wddxPacket = ""; 
this.write("<wddxPacket version='1.0'><header/><data>"); 
bSuccess = this.serializeValue(rootObj); 
this.write("</data></wddxPacket>"); 
if (bSuccess) 
{ 
    return this.wddxPacket; 
} 
else 
{ 
    return null; 
} 
...

write

Description

Appends data to a serialized data stream.

Syntax

object.write( str )

Parameters

Parameter

Description

object

Instance name of the WddxSerializer object

str

String to be copied to the serialized data stream

Return value

Returns an updated serialized data stream as a String.

Usage

This is an internal function; you do not typically call it.

Example

This example is from the WddxSerializer serializeValue function:

... 
else if (typeof(obj) == "number") 
{ 
    // Number value 
    this.write("<number>" + obj + "</number>"); 
} 
else if (typeof(obj) == "boolean") 
{ 
    // Boolean value 
    this.write("<boolean value='" + obj + "'/>"); 
} 
...