Brilliant, thanks.

I'll give that a shot.

Cheers

Stefan




On 9 Oct 2009, at 16:59, [email protected] wrote:

>
> Personally, I don't fight it and just accept the default serialization
> of ColdFusion's queries.  They usually some across as an ArrayList in
> ActionScript and checking the length property will tell you what the
> total number of records are.  It's easier to just use the meta data of
> the object itself then to try and represent it explicitly.
>
> Regardless, the answer to your question is this:  If you want the data
> represented in a custom way, then build it.  What you have is a struct
> with two keys.  One called "total" and one called "items".  Remember
> that CF will capitalize all struct keys when made like this
> myStruct.total = "foo" so you will want to use array notation:
> mystruct["total"] = "foo".  Inside of your "items" key you have an  
> array
> of structs containing the keys "id" and "title".
>
> So, loop over your CF query and create just that then serialize it to
> JSON.  If I may point out, ColdFusion's method of serializing a result
> set is more efficient than yours.  You will require each column name  
> to
> be stated as a struct key for every row instead of simply defining the
> columns once.  Imagine a result set with 100 records and 10  
> columns.  If
> the average column title is 8 characters, that's 8000 extra characters
> going down the wire.  It might be negligible, but I'm just sayin'  :)
>
> This is what I'd start with (in cfscript):
>
>
> returnStruct = {};
> returnStruct["total"] = qryResult.recordCount;
> returnStruct["items"] = [];
>
> i = 0;
>
> while (++i < qryResult.recordCount)
>       {
>               thisRow = {};
>               thisRow["id"] = qryResult["id"][i];
>               thisRow["title"] = qryResult["title"][i];
>               arrayAppend(returnStruct["items"],thisRow);
>       }
>       
> return serializeJSON(returnStruct);
>
> Good Luck.
>
> ~Brad
>
> -------- Original Message --------
> Subject: JSON help
> From: Stefan Richter <[email protected]>
> Date: Fri, October 09, 2009 10:39 am
> To: cf-talk <[email protected]>
>
>
> Hi,
> Flex dev here - wannabe CF coder :-)
>
> I need to return some JSON to a Flash Lite client, the format I'd like
> to produce looks like this:
>
> {
> "total": "100",
> "items":
> [
> {"id": "0", "title": "Some Title"},
> {"id": "0", "title": "Some Title"},
> {"id": "0", "title": "Some Title"},
> {"id": "0", "title": "Some Title"},
> {"id": "0", "title": "Some Title"}
> ]
> }
>
>
>
> 

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|
Want to reach the ColdFusion community with something they want? Let them know 
on the House of Fusion mailing lists
Archive: 
http://www.houseoffusion.com/groups/cf-talk/message.cfm/messageid:327069
Subscription: http://www.houseoffusion.com/groups/cf-talk/subscribe.cfm
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4

Reply via email to