nalbee
1
I can SerializeJSON a query and get this:
string {"COLUMNS":["ID","TITLE"],"DATA":[["1","hello "],["2","world"]]}
DeserializeJSON gives me a structure.
How do I get it back into a query?
Create query :
<cfset news = queryNew("id,title", "integer,varchar")>
<cfset queryAddRow(news)>
<cfset querySetCell(news, "id", "1")>
<cfset querySetCell(news, "title", "hello ")>
<cfset queryAddRow(news)>
<cfset querySetCell(news, "id", "2")>
<cfset querySetCell(news, "title", "world")>
<cfset writeDump(news)>
<CFSET querySearalizex = SerializeJSON(news)>
isapir
2
Query is not a valid JSON object, but a struct is.
You might want to try serialize()
and evaluate()
rather than the JSON functions.
nalbee
3
If case anyone is interested this is 1 way to do it.
<cfset news = queryNew("id,title", "integer,varchar")>
<cfset queryAddRow(news)>
<cfset querySetCell(news, "id", "1")>
<cfset querySetCell(news, "title", "hello ")>
<cfset queryAddRow(news)>
<cfset querySetCell(news, "id", "2")>
<cfset querySetCell(news, "title", "world")>
<cfset writeDump(news)>
<CFSET querySearalizex = SerializeJSON(news,true)>
<cfdump var="#querySearalizex#" />
<cfset Data = deserializeJson(querySearalizex, false) />
<cfdump var=#Data# />
<CFOUTPUT QUERY="Data">
MY ID : #ID#<BR>
title: #TITLE#<BR>
</CFOUTPUT>