You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by "Joost Schouten (ml)" <jo...@jsportal.com> on 2011/06/23 12:42:44 UTC

JSONObject does not like javascript date constructor

  Hi,

I am not quite sure if this is a limitation of my javascript json 
knoledge or a tapestry one. But When I use google's visulisation package 
to create json representation of a DataTable 
JSONObject.add("jsonDataTable", dataTableJSONString) I get the follwing 
exception (full exception at [1]).

character 239 is found at:
,"rows":[{"c":[{"v":new Date(2011,5----THIS IS CHARACTER 239---,23)},,{

It seems like an unescaped date constructor is not recognized as valid 
and it just sees the comma (,) and believes a new parameter should be 
defined. Is this correct JSON behaviour or is this a tapestry bug?

Cheers,
Joost



[1] the exception:
Expected a ':' after a key at character 239 of
{"cols":[{"id":"date","label":"Date","type":"date","pattern":""},{"id":"budget","label":"Spending 
(EUR)","type":"number","pattern":""},{"id":"income","label":"Budget 
(EUR)","type":"number","pattern":""}],"rows":[{"c":[{"v":new 
Date(2011,5,23)},,{"v":100............ more of the same......
at org.apache.tapestry5.json.JSONTokener.syntaxError(JSONTokener.java:384)
     at org.apache.tapestry5.json.JSONObject.<init>(JSONObject.java:233)
     at 
org.apache.tapestry5.json.JSONTokener.nextValue(JSONTokener.java:272)
     at org.apache.tapestry5.json.JSONArray.parse(JSONArray.java:142)
     at org.apache.tapestry5.json.JSONArray.<init>(JSONArray.java:121)
     at 
org.apache.tapestry5.json.JSONTokener.nextValue(JSONTokener.java:275)
     at org.apache.tapestry5.json.JSONObject.<init>(JSONObject.java:234)
     at 
org.apache.tapestry5.json.JSONTokener.nextValue(JSONTokener.java:272)
     at org.apache.tapestry5.json.JSONArray.parse(JSONArray.java:142)
     at org.apache.tapestry5.json.JSONArray.<init>(JSONArray.java:121)
     at 
org.apache.tapestry5.json.JSONTokener.nextValue(JSONTokener.java:275)
     at org.apache.tapestry5.json.JSONObject.<init>(JSONObject.java:234)
     at org.apache.tapestry5.json.JSONObject.<init>(JSONObject.java:266)
     at 
com.jsportal.projectportal.client.http.components.template.CanvasChart.beginRender(CanvasChart.java:123)
     at 
com.jsportal.projectportal.client.http.components.template.CanvasChart._$access_beginRender(CanvasChart.java)
     at 
com.jsportal.projectportal.client.http.components.template.CanvasChart$MethodAccess_beginRender_130bbe008c9.invoke(CanvasChart$MethodAccess_beginRender_130bbe008c9.java)
     at 
org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$Invoker.invoke(RenderPhaseMethodWorker.java:117)
     at 
org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$RenderPhaseMethodAdvice.advise(RenderPhaseMethodWorker.java:86)
     at 
org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
     at 
com.jsportal.projectportal.client.http.components.template.CanvasChart.beginRender(CanvasChart.java)
     at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:239)
     at 
org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:176)
     ... 94 more




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org


Re: JSONObject does not like javascript date constructor

Posted by Josh Canfield <jo...@gmail.com>.
http://www.json.org/

The value should be one of
string
number
object
array
true
false
null

Where object and array are defined as

On Thu, Jun 23, 2011 at 10:42 AM, Joost Schouten (ml)
<jo...@jsportal.com> wrote:
>  Hi,
>
> I am not quite sure if this is a limitation of my javascript json knoledge
> or a tapestry one. But When I use google's visulisation package to create
> json representation of a DataTable JSONObject.add("jsonDataTable",
> dataTableJSONString) I get the follwing exception (full exception at [1]).
>
> character 239 is found at:
> ,"rows":[{"c":[{"v":new Date(2011,5----THIS IS CHARACTER 239---,23)},,{
>
> It seems like an unescaped date constructor is not recognized as valid and
> it just sees the comma (,) and believes a new parameter should be defined.
> Is this correct JSON behaviour or is this a tapestry bug?
>
> Cheers,
> Joost
>
>
>
> [1] the exception:
> Expected a ':' after a key at character 239 of
> {"cols":[{"id":"date","label":"Date","type":"date","pattern":""},{"id":"budget","label":"Spending
> (EUR)","type":"number","pattern":""},{"id":"income","label":"Budget
> (EUR)","type":"number","pattern":""}],"rows":[{"c":[{"v":new
> Date(2011,5,23)},,{"v":100............ more of the same......
> at org.apache.tapestry5.json.JSONTokener.syntaxError(JSONTokener.java:384)
>    at org.apache.tapestry5.json.JSONObject.<init>(JSONObject.java:233)
>    at org.apache.tapestry5.json.JSONTokener.nextValue(JSONTokener.java:272)
>    at org.apache.tapestry5.json.JSONArray.parse(JSONArray.java:142)
>    at org.apache.tapestry5.json.JSONArray.<init>(JSONArray.java:121)
>    at org.apache.tapestry5.json.JSONTokener.nextValue(JSONTokener.java:275)
>    at org.apache.tapestry5.json.JSONObject.<init>(JSONObject.java:234)
>    at org.apache.tapestry5.json.JSONTokener.nextValue(JSONTokener.java:272)
>    at org.apache.tapestry5.json.JSONArray.parse(JSONArray.java:142)
>    at org.apache.tapestry5.json.JSONArray.<init>(JSONArray.java:121)
>    at org.apache.tapestry5.json.JSONTokener.nextValue(JSONTokener.java:275)
>    at org.apache.tapestry5.json.JSONObject.<init>(JSONObject.java:234)
>    at org.apache.tapestry5.json.JSONObject.<init>(JSONObject.java:266)
>    at
> com.jsportal.projectportal.client.http.components.template.CanvasChart.beginRender(CanvasChart.java:123)
>    at
> com.jsportal.projectportal.client.http.components.template.CanvasChart._$access_beginRender(CanvasChart.java)
>    at
> com.jsportal.projectportal.client.http.components.template.CanvasChart$MethodAccess_beginRender_130bbe008c9.invoke(CanvasChart$MethodAccess_beginRender_130bbe008c9.java)
>    at
> org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$Invoker.invoke(RenderPhaseMethodWorker.java:117)
>    at
> org.apache.tapestry5.internal.transform.RenderPhaseMethodWorker$RenderPhaseMethodAdvice.advise(RenderPhaseMethodWorker.java:86)
>    at
> org.apache.tapestry5.internal.services.AbstractComponentMethodInvocation.proceed(AbstractComponentMethodInvocation.java:86)
>    at
> com.jsportal.projectportal.client.http.components.template.CanvasChart.beginRender(CanvasChart.java)
>    at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$BeginRenderPhase.invokeComponent(ComponentPageElementImpl.java:239)
>    at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$AbstractPhase.invoke(ComponentPageElementImpl.java:176)
>    ... 94 more
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
> For additional commands, e-mail: users-help@tapestry.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tapestry.apache.org
For additional commands, e-mail: users-help@tapestry.apache.org