There has been a lot of talk on the subject of serializing queries using JSON. This has come up around the times of the last couple of major version releases. Query serialization has all the problems that serializing other data types have; leading zeros being lost, string and numeric data type mixups, no case preservation, and several other problems that I can't recall right now. The representation of the columns and the data has also been discussed and debated repeatedly. An option to change this formatting has been added to try to satisfy everyone.
Solutions and work-arounds for most of these problems have been worked out by the community. Ben Nadel created his JSONSerializer.cfc. Coldfusion 11 also added a system for supplying a custom serializer, although I haven't had a chance to try that yet so I don't know if you can avoid all the problems lined out above.
Alright that's enough about that, now for the main point of the article. If you are passing data between cf systems, or caching data to be used later on the same system you can use objectsave and objectload.
The code below shows creating a query with varchar and integer columns. Then I save and load the query and show that the data and column types remain intact.
The results of running the code are shown below. First you see the metadata and data for the original query. Then the same thing for the saved and loaded query. Then I show the results of running a query of queries on the loaded query. This returns expected results and does not error when comparing the null value.
This aproach doesn't always work, but when going from cf to cf it avoids all the problems that JSON serialization has.
Here is another small JS project that I built quite a few years ago. It was basically just an exploration of the canvas tag, which was some...
Some Android applications use space on your Google Drive to store data. You can't see this data by browsing drive the normal way. You ...
Sometimes you want to allow a limited set of HTML tags in user generated content. This can be done with the XMLValidate function in Coldf...
I have several Chromecast devices in my house. Recently I was playing around with the Python module pychromecast. It has given me a much b...