Title:
Bug 86863:(Watson Migration Closure)Round trip JSON serialization of queries (serialize to JSON then deserialize back to CF) has a data transparency problem in that null values in the db end up as the string 'null' at the end of the pro
| View in TrackerStatus/Resolution/Reason: Closed/Fixed/
Reporter/Name(from Bugbase): Dave Merrill / Dave Merrill (Dave Merrill)
Created: 04/25/2011
Versions: 9.0.1
Failure Type: Unspecified
Found In Build/Fixed In Build: 9,0,1,274733 /
Priority/Frequency: Trivial / Unknown
Locale/System: English / Win All
Vote Count: 1
Problem:
Round trip JSON serialization of queries (serialize to JSON then deserialize back to CF) has a data transparency problem in that null values in the db end up as the string 'null' at the end of the process. The code below illustrates the problem in a portable way; the same issue occurs with NULL values in a real database. Database NULLs have always been returned to CF as empty string, and empty string passes through serialization unchanged. Round trip serialization/deserialization works fine using WDDX, in that both empty string and NULL db values are treated as empty string before and after serialization. However, using JSON, db NULLs end up deserializing as the actual string 'null', corrupting them. Under no circumstances should NULL values become the word 'null'.
Method:
<cfscript>q = QueryNew('Name');QueryAddRow(q);q.Name[1] = 'foo';QueryAddRow(q);q.Name[2] = '';QueryAddRow(q);</cfscript><cfdump var="#q#" label="original query"><cfset serializedData = SerializeJSON(q)><cfdump var="#serializedData#" label="serialized query"><cfset q = DeserializeJSON(serializedData, false)><cfdump var="#q#" label="after serialization round trip">
Result:
----------------------------- Additional Watson Details -----------------------------
Watson Bug ID: 3043777
Deployment Phase: Release Candidate
Keywords:
FixTested
External Customer Info:
External Company:
External Customer Name: Dave Merrill
External Customer Email: 01061405446C42C7992016E5
External Test Config: 04/25/2011
Attachments:
Comments: