personally, i'd still use ERRest's, but your API is different than mine, so I 
don't remember how to do it … some form os ERRestFormat.json().toString(…) with 
a bunch of annoying parameters … 

ms

On May 5, 2011, at 10:22 AM, Pascal Robert wrote:

> BTW, I did try to use the one from net.sf.json, but look like I would have to 
> create processors for NSArray and other stuff. Should I use the serializer 
> from net.sf.json?
> 
>> actually .. yeah … your version might be slightly more tedious to use … 
>> maybe new impl coming.
>> 
>> ms
>> 
>> On May 5, 2011, at 10:10 AM, Pascal Robert wrote:
>> 
>>> I looked at it, and it looked easier to use JSONSerializer in a context 
>>> where I'm not sending the JSON as part of a REST request (I want to save it 
>>> to a database). BTW, that's org.jabsorb.JSONSerializer (the one in the Ajax 
>>> framework).
>>> 
>>>> any reason you're using JSONSerializer rather than using ERRest json 
>>>> serialization?
>>>> 
>>>> ms
>>>> 
>>>> On May 5, 2011, at 9:56 AM, Pascal Robert wrote:
>>>> 
>>>>> I'm a bit lost here. I'm trying to encode a ERCalendar object in JSON, 
>>>>> and I'm getting problems. That object (coming from ERCalendar2) also have 
>>>>> a array that contains EREvent objects.
>>>>> 
>>>>> So I did that:
>>>>> 
>>>>>    JSONSerializer serializer = new JSONSerializer();
>>>>>    serializer.registerDefaultSerializers();
>>>>>    serializer.registerSerializer(new ERXBeanSerializer(EREvent.class));
>>>>>    serializer.registerSerializer(new ERXBeanSerializer(ERCalendar.class));
>>>>>    serializer.registerSerializer(new NSArraySerializer());
>>>>> 
>>>>> But I'm getting Java heap space errors (see full stack below).  
>>>>> 
>>>>> If I don't serialize EREvent, no errors, but the EREvent objects are not 
>>>>> serialized. So I guess something make the serializer to go an infinite 
>>>>> loop in EREvent, but I don't know what.
>>>>> 
>>>>> Any suggestions?
>>>>> 
>>>>> Stacktrace:
>>>>> 
>>>>> INFO [er.ajax.json.serializer.ERXBeanSerializer] analyzing 
>>>>> er.calendar2.ERCalendar
>>>>> INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
>>>>> net.fortuna.ical4j.model.Calendar
>>>>> ...
>>>>> INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
>>>>> java.net.Proxy$Type
>>>>> INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
>>>>> java.util.concurrent.TimeUnit$1
>>>>> INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
>>>>> java.util.concurrent.TimeUnit$2
>>>>> INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
>>>>> java.util.concurrent.TimeUnit$3
>>>>> INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
>>>>> java.util.concurrent.TimeUnit$4
>>>>> INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
>>>>> java.util.concurrent.TimeUnit$5
>>>>> INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
>>>>> java.util.concurrent.TimeUnit$6
>>>>> INFO [org.jabsorb.serializer.impl.BeanSerializer] analyzing 
>>>>> java.util.concurrent.TimeUnit$7
>>>>> WARN [NSLog] 
>>>>> <com.webobjects.appserver._private.WOComponentRequestHandler>: Exception 
>>>>> occurred while handling request:
>>>>> com.webobjects.foundation.NSForwardException 
>>>>> [java.lang.reflect.InvocationTargetException] 
>>>>> null:java.lang.reflect.InvocationTargetException
>>>>> [2011-5-5 9:1:43 EDT] <WorkerThread0> 
>>>>> com.webobjects.foundation.NSForwardException 
>>>>> [java.lang.reflect.InvocationTargetException] 
>>>>> null:java.lang.reflect.InvocationTargetException
>>>>>   at 
>>>>> com.webobjects.foundation._NSUtilities._explainInstantiationException(_NSUtilities.java:626)
>>>>>   at 
>>>>> com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:646)
>>>>>   at 
>>>>> com.webobjects.appserver._private.WOComponentDefinition._componentInstanceInContext(WOComponentDefinition.java:544)
>>>>>   at 
>>>>> com.webobjects.appserver._private.WOComponentDefinition.componentInstanceInContext(WOComponentDefinition.java:642)
>>>>>   at 
>>>>> com.webobjects.appserver.WOApplication.pageWithName(WOApplication.java:2332)
>>>>>   at 
>>>>> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedSession(WOComponentRequestHandler.java:284)
>>>>>   at 
>>>>> com.webobjects.appserver._private.WOComponentRequestHandler._dispatchWithPreparedApplication(WOComponentRequestHandler.java:332)
>>>>>   at 
>>>>> com.webobjects.appserver._private.WOComponentRequestHandler._handleRequest(WOComponentRequestHandler.java:369)
>>>>>   at 
>>>>> com.webobjects.appserver._private.WOComponentRequestHandler.handleRequest(WOComponentRequestHandler.java:442)
>>>>>   at 
>>>>> com.webobjects.appserver.WOApplication.dispatchRequest(WOApplication.java:1687)
>>>>>   at 
>>>>> er.extensions.appserver.ERXApplication.dispatchRequestImmediately(ERXApplication.java:1984)
>>>>>   at 
>>>>> er.extensions.appserver.ERXApplication.dispatchRequest(ERXApplication.java:1949)
>>>>>   at 
>>>>> com.webobjects.appserver._private.WOWorkerThread.runOnce(WOWorkerThread.java:144)
>>>>>   at 
>>>>> com.webobjects.appserver._private.WOWorkerThread.run(WOWorkerThread.java:226)
>>>>>   at java.lang.Thread.run(Thread.java:680)
>>>>> Caused by: java.lang.reflect.InvocationTargetException
>>>>>   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
>>>>>   at 
>>>>> sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
>>>>>   at 
>>>>> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
>>>>>   at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
>>>>>   at 
>>>>> com.webobjects.foundation._NSUtilities.instantiateObject(_NSUtilities.java:640)
>>>>>   ... 13 more
>>>>> Caused by: java.lang.OutOfMemoryError: Java heap space
>>>>>   at java.util.LinkedList.toArray(LinkedList.java:863)
>>>>>   at java.util.ArrayList.<init>(ArrayList.java:131)
>>>>>   at org.jabsorb.serializer.FixUp.<init>(FixUp.java:57)
>>>>>   at 
>>>>> org.jabsorb.serializer.SerializerState.addFixUp(SerializerState.java:74)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:371)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>> 
>>>>> WARN [NSLog] Ran out of memory, killing this instance
>>>>> FATAL [er.extensions.appserver.ERXApplication] Ran out of memory, killing 
>>>>> this instance
>>>>> FATAL [er.extensions.appserver.ERXApplication] Ran out of memory, killing 
>>>>> this instance
>>>>> java.lang.OutOfMemoryError: Java heap space
>>>>>   at java.util.LinkedList.toArray(LinkedList.java:863)
>>>>>   at java.util.ArrayList.<init>(ArrayList.java:131)
>>>>>   at org.jabsorb.serializer.FixUp.<init>(FixUp.java:57)
>>>>>   at 
>>>>> org.jabsorb.serializer.SerializerState.addFixUp(SerializerState.java:74)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:371)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.ArraySerializer.marshall(ArraySerializer.java:298)
>>>>>   at org.jabsorb.JSONSerializer.marshall(JSONSerializer.java:385)
>>>>>   at 
>>>>> org.jabsorb.serializer.impl.BeanSerializer.marshall(BeanSerializer.java:235)
>>>>>  _______________________________________________
>>>>> Do not post admin requests to the list. They will be ignored.
>>>>> Webobjects-dev mailing list      ([email protected])
>>>>> Help/Unsubscribe/Update your Subscription:
>>>>> http://lists.apple.com/mailman/options/webobjects-dev/mschrag%40pobox.com
>>>>> 
>>>>> This email sent to [email protected]
>>>> 
>>> 
>> 
> 

 _______________________________________________
Do not post admin requests to the list. They will be ignored.
Webobjects-dev mailing list      ([email protected])
Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/webobjects-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to