This isn't really an application; it's just a couple of LotusScript classes to provide a LotusScript implementation for creating and processing JSON (http://www.json.org). (I think it was the only language not on the list).






I first used JSON with a Flash/Zinc application to pass arrays of objects between movies. The only way I could find to do this was via a String and since ActionScript is very similar to JS, this turned out to be a great solution.



After using JSON with ActionScript and reading Jake's article “XML is Dead. Long Live JSON” (http://www.codestore.net/store.nsf/unid/BLOG-20060612?OpenDocument), I thought it would be useful to write an implementation for LotusScript. Since then I've used it for creating and processing JSON sent to and from LotusScript agents and the browser via Ajax calls.



NON AJAX EXAMPLE



More recently I had a requirement to have a multi-row table in a web form that users can add and remove items from. The users also wanted to report on this information every year. Initially I thought I would do this with some Ajax and a Document/ Response arrangement where each row of the table would be stored on the server as a response. I finally decided to use JSON to store the row information in a multi-value field on the document. When displayed on the web, JS converts the JSON strings to objects and then builds the table on the fly. When it comes to reporting I use these LotusScript classes to build objects from the JSON, sort and walk through them to produce the reports. The advantage with this approach is that the UI is fast, with no need to make server calls and I didn't have to write code to maintain relationship integrity. The disadvantage is that the report creation process is slower, but since it is only an annual task, that was not such a problem.