Hi Farrukh filterWithAllRecursive works great.
Thanks for the help everyone. Liz On 15 Jul 2011, at 21:37, Farrukh Ijaz wrote: > Use ERXKeyFilter.filterWithAll() or ERXKeyFilter.filterWithAllRecrusive() > > Farrukh > > On 2011-07-15, at 11:12 PM, Elizabeth Lynch wrote: > >> Hi >> >>> That should work. What key filter are you using? Are you not allowing keys >>> in from the nested dictionary? >> >> Here is my implementation of data for testing (from Category.java): >> >> public NSDictionary data() { >> return new NSDictionary("key", "stringValue"); >> } >> >> and my showFilter (from CategoryController.java): >> >> public static ERXKeyFilter showFilter() { >> ERXKeyFilter filter = ERXKeyFilter.filterWithAttributes(); >> filter.include(new ERXKey<NSDictionary<String,String>>("data")); >> return filter; >> } >> >> results in: >> >> "data":{"nil":true} >> I assume this is the result of something incredibly obvious that I have >> overlooked :-). >> >> Liz >> >> >>> >>> On Jul 15, 2011, at 1:43 PM, Elizabeth Lynch wrote: >>> >>>> Hi >>>> >>>>> I think you can define an additional getter method over data as >>>>> dataDictionary() which should return the data xml as NSDictionary. This >>>>> will solve the problem for both XML and JSON. >>>> >>>> Unfortunately that isn't working for me. Here's some more information >>>> I've discovered about the ERREST problem; it looks like it can't cope with >>>> Collections (List/Map, or ArrayList/HashMap). Perhaps it wants nasty >>>> beans? Below is an example showing it not coping with a dictionary. >>>> >>>> 'data' is a derived attribute, returning a dictionary, declared as >>>> ERXKey<Object> in the ERXKeyFilter (or NSDictionary), it returns: >>>> >>>> "data":{"nil":true} >>>> >>>> An NSArray returns: >>>> >>>> "data":["stringValue"]} >>>> >>>> which is much better. But an array of dictionary gives: >>>> >>>> "data":[{"nil":true}]} >>>> >>>> So it seems that the JSON converter is having issues with >>>> NSDictionary/Hashmap (I've tried both). >>>> >>>> Does anyone have any ideas? >>>> >>>> Liz >>>> >>>>> >>>>> Farrukh >>>>> >>>>> On 2011-07-15, at 7:24 PM, Elizabeth Lynch wrote: >>>>> >>>>>> Hi Farrukh >>>>>> >>>>>> Thanks: that's a good suggestion, but I need to get it into JSON before >>>>>> it leaves the server, so that technique won't work for me. >>>>>> >>>>>> Liz >>>>>> >>>>>> On 15 Jul 2011, at 15:55, Farrukh Ijaz wrote: >>>>>> >>>>>>> Hi Liz, >>>>>>> >>>>>>> That's a common issue. Suppose you receive the JSON mentioned below, >>>>>>> once you get the value of data attribute which is a JSON object in >>>>>>> string format, evaluate it using eval() method of javascript and it >>>>>>> will be converted to JSON. >>>>>>> >>>>>>> Farrukh >>>>>>> >>>>>>> Sent from my iPad 2 >>>>>>> >>>>>>> On 2011-07-15, at 3:58 PM, Elizabeth Lynch <l...@plsys.co.uk> wrote: >>>>>>> >>>>>>>> Hi Pascal >>>>>>>> >>>>>>>> Sorry, I didn't explain the problem clearly. I am doing that already. >>>>>>>> The problem is that it comes as a string in my JSON output, not as an >>>>>>>> object. >>>>>>>> >>>>>>>> Liz >>>>>>>> >>>>>>>> Sent from my iPhone >>>>>>>> >>>>>>>> On 15 Jul 2011, at 12:39, Pascal Robert <prob...@macti.ca> wrote: >>>>>>>> >>>>>>>>> I think the best way would be to transform the XML to a Java object >>>>>>>>> and transform that object back to JSON. >>>>>>>>> >>>>>>>>>> I am building an ERRest application (read only), and am having a >>>>>>>>>> problem with one field. This field holds an xml string, which I >>>>>>>>>> need to embed into the output from show and index actions; it will >>>>>>>>>> be consumed as json (mainly; possibly only). >>>>>>>>>> >>>>>>>>>> For example, I would like to receive: >>>>>>>>>> >>>>>>>>>> {"name" : "A Record", "data" : { "fieldA" : "valueA", "fieldB" : >>>>>>>>>> "valueB" } } >>>>>>>>>> >>>>>>>>>> where the data attribute comes from: >>>>>>>>>> >>>>>>>>>> <SomeElement FieldA="valueA"><FieldB>valueB</FieldB></SomeElement> >>>>>>>>>> >>>>>>>>>> Or something similar to that. I can use net.sf.json to do the >>>>>>>>>> conversion directly, which produces satisfactory strings, but that >>>>>>>>>> doesn't cope with the XML output format case, and I can't figure out >>>>>>>>>> how to pass it into my JSON output. If I do that with a String >>>>>>>>>> field, then obviously it is output as a string value, not as a JSON >>>>>>>>>> object, which isn't what I want. >>>>>>>>>> >>>>>>>>>> In short, the XML is a moderately complex object, which I need to >>>>>>>>>> output as an object in the JSON format. >>>>>>>>>> >>>>>>>>>> All ideas appreciated. >>>>>>>>>> >>>>>>>>>> Liz _______________________________________________ >>>>>>>>>> Do not post admin requests to the list. They will be ignored. >>>>>>>>>> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) >>>>>>>>>> Help/Unsubscribe/Update your Subscription: >>>>>>>>>> http://lists.apple.com/mailman/options/webobjects-dev/probert%40macti.ca >>>>>>>>>> >>>>>>>>>> This email sent to prob...@macti.ca >>>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> Do not post admin requests to the list. They will be ignored. >>>>>>>> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) >>>>>>>> Help/Unsubscribe/Update your Subscription: >>>>>>>> http://lists.apple.com/mailman/options/webobjects-dev/farrukh.ijaz%40fuegodigitalmedia.com >>>>>>>> >>>>>>>> This email sent to farrukh.i...@fuegodigitalmedia.com >>>>>> >>>>> >>>> >>>> _______________________________________________ >>>> Do not post admin requests to the list. They will be ignored. >>>> Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) >>>> Help/Unsubscribe/Update your Subscription: >>>> http://lists.apple.com/mailman/options/webobjects-dev/mschrag%40pobox.com >>>> >>>> This email sent to msch...@pobox.com >>> >> >
_______________________________________________ Do not post admin requests to the list. They will be ignored. Webobjects-dev mailing list (Webobjects-dev@lists.apple.com) Help/Unsubscribe/Update your Subscription: http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com This email sent to arch...@mail-archive.com