Learning ColdFusion 8: Javascript Object Notation (JSON) Part I - Data Conversion

<!---
	So that we don't have to deal with strange string
	conversion, we are going to store our serialized
	data into a struct. We will then reference this
	struct for the deserialization.
--->
<cfset objJSON = {
	String = SerializeJSON( "Maria Bello" ),
	Number = SerializeJSON( 1967 ),
	Date = SerializeJSON( "April 18, 1967" ),
	Null = SerializeJSON( JavaCast( "null", 0 ) ),
	Struct = SerializeJSON( objActress ),
	Array = SerializeJSON(
		ListToArray( "Maria,Bello" )
		),
	Function = SerializeJSON( Test ),
	CFC = SerializeJSON(
		CreateObject( "component", "Test" )
		),
	Query = SerializeJSON( qTest ),
	QueryTrue = SerializeJSON( qTest, true ),
	Java = SerializeJSON(
		CreateObject(
			"java",
			"java.lang.StringBuffer"
			).Init( "" )
		)
	} />
 
 
<!---
	Now that we have the same JSON data values stored
	in our JSON struct (same data we converted before),
	we will convert it back into ColdFusion and dump out
	the resultant object.
--->
 
 
<!--- Convert a string. --->
<cfdump
	var="#DeserializeJSON( objJSON.String )#"
	label="JSON String"
	/>
 
<!--- Convert a number. --->
<cfdump
	var="#DeserializeJSON( objJSON.Number )#"
	label="JSON Number"
	/>
 
<!--- Convert a date. --->
<cfdump
	var="#DeserializeJSON( objJSON.Date )#"
	label="JSON Date"
	/>
 
<!--- Convert a null. --->
<cfdump
	var="#DeserializeJSON( objJSON.Null )#"
	label="JSON Null"
	/>
 
<!--- Convert a struct. --->
<cfdump
	var="#DeserializeJSON( objJSON.Struct )#"
	label="JSON Struct"
	/>
 
<!--- Convert an array. --->
<cfdump
	var="#DeserializeJSON( objJSON.Array )#"
	label="JSON Array"
	/>
 
<!--- Convert a function. --->
<cfdump
	var="#DeserializeJSON( objJSON.Function )#"
	label="JSON Function"
	/>
 
<!--- Convert a CFC. --->
<cfdump
	var="#DeserializeJSON( objJSON.CFC )#"
	label="JSON CFC"
	/>
 
<!--- Convert a query. --->
<cfdump
	var="#DeserializeJSON( objJSON.Query, false )#"
	label="JSON Query"
	/>
 
<!--- Convert a query. --->
<cfdump
	var="#DeserializeJSON( objJSON.QueryTrue, false )#"
	label="JSON Query(True)"
	/>
 
<!--- Convert a java object. --->
<cfdump
	var="#DeserializeJSON( objJSON.Java )#"
	label="JSON Java"
	/>

For Cut-and-Paste