On Fri, 16 Dec 2011, Leonardo M. Ramé wrote:

From: Michael Van Canneyt <mich...@freepascal.org>
To: FPC mailing list <fpc-pascal@lists.freepascal.org>; Lazarus mailing list <laza...@lazarus.freepascal.org> Sent: Friday, December 16, 2011 1:37 PM
Subject: [fpc-pascal] JSON Dataset in FCL-DB.


Hello,

I just committed a JSON dataset in fcl-db.

This is a dataset which stores its data in JSON objects (as in fpjson) in 
memory. The records are in a JSON array, each record can be a JSON object or 
array.
(not mixed)

The dataset is read-write. It can be used to create JSON data from scratch: 
just add definitions to the fielddefs properties, and call 'Open'. At the end, 
call SaveToStream().

There are 2 descendents which read/write ExtJS JSON data packages (Objects or 
Arrays) from streams but they are usable to handle any kind of JSON data. 
Currently, the dataset does not yet support propagating changes (deltas) back 
to a server.

I would be glad to recieve feedback, comments.

Michael.



Does this allow executing selects against an sql database and traverse the 
results using this JSON dataset?

Yes. I use it as follows:

Normally, Fcl-web server using the sql-db and fpwebdata sends JSON-Formatted 
data to a browser.

I have now a lazarus-written client app which sends a HTTP request to the same webserver, reads the returned JSON, and then opens a dataset with the JSON as source of the data.

Combined with the Ext.Direct RPC, I intend to use this for N-tier apps where the client can be a native app or a browser.

What is missing currently is the delta to update data on the server, but that 
should be easily added.

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to