[Proto-Scripty] Re: JSON, ASP.NET and Date's

2008-09-12 Thread Kruncher

Ah right, yes that makes perfect sense.

What if the date were to be serialized as "new Date(...)"?

For example,

var input = new String("{ dob:new Date(1220453756681+0100) }");
var evaluated = input.evalJSON();

var v1 = evaluated.dob.toString();
// v1 ==> "Wed Sep 03 2008 15:55:56 GMT+0100 (GMT Daylight Time)"
var v2 = evaluated.dob.getDay();
// v2 ==> 3

Would there be any nasty pitfalls with this approach?

Lea Hayes

On Sep 11, 7:26 pm, Walter Lee Davis <[EMAIL PROTECTED]> wrote:
> On Sep 11, 2008, at 2:02 PM, T.J. Crowder wrote:
>
> > We probably don't want the JSON deserializer to look at
> > every string value and make it a date if it happens to look like
> > one...  :-)
>
> Right, cuz then it would be like a phone number on MobileSafari.
>
> Walter
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptaculous@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~--~~~~--~~--~--~---



[Proto-Scripty] Re: JSON, ASP.NET and Date's

2008-09-11 Thread Walter Lee Davis


On Sep 11, 2008, at 2:02 PM, T.J. Crowder wrote:

> We probably don't want the JSON deserializer to look at
> every string value and make it a date if it happens to look like
> one...  :-)


Right, cuz then it would be like a phone number on MobileSafari.

Walter

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptaculous@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~--~~~~--~~--~--~---



[Proto-Scripty] Re: JSON, ASP.NET and Date's

2008-09-11 Thread T.J. Crowder

Hi,

> Why is it that Prototype's JSON does not attempt to deserialize a date/
> time string that it actually serialized?

Because it has no way of knowing that that particular string is meant
to be a date.  We probably don't want the JSON deserializer to look at
every string value and make it a date if it happens to look like
one...  :-)

-- T.J.

On Sep 11, 6:29 pm, Kruncher <[EMAIL PROTECTED]> wrote:
> Hi,
>
> Yes I totally agree with your comment regarding 
> Ajax!
>
> Thanks, that would be fantastic! :D
>
> Why is it that Prototype's JSON does not attempt to deserialize a date/
> time string that it actually serialized?
>
> var jsonDate = new String(new Date().toJSON());
> //===> jsonDate == "2008-09-11T17:14:20Z"
> var reverseDate = jsonDate.evalJSON();
> //===> reverseDate == "2008-09-11T17:14:20Z"   ??? Why is this not a
> Date object
>
> Many thanks Ryan and T.J.Crowder!
> Lea Hayes
>
> On Sep 11, 2:19 pm, "Ryan Gahl" <[EMAIL PROTECTED]> wrote:
>
> > Hi Kruncher... We use .NET with prototype (and Ext, jquery, etc)... it works
> > fine with any client libraries you want to use - just don't use their
> > ASP.NET  Ajax crap :)
>
> > Anyway...
>
> > We just override the Date serialization on the server. As you know, there
> > are already a vast number of built in Date.ToString() method overloads
> > possible in the .NET server side (which accepts a formatting string of
> > course).
>
> > We chose UTC (instead of ISO 8601 as TJ suggests)... and we just employ a
> > UTC string to Date converter on the client side (in our transport layer so
> > it's abstracted from the developer).
>
> > I'll talk to my guys and see if we can publish some of that code...
>
> > On Thu, Sep 11, 2008 at 2:01 AM, T.J. Crowder <[EMAIL PROTECTED]>wrote:
>
> > > Hi,
>
> > > > The ASP.NET date/time object generates the following JSON:
> > > >      dateModified":"\/Date(1220453756681+0100)\/"
>
> > > Unfortunately there is no JavaScript literal syntax for dates, and
> > > Crockford didn't add one for JSON because he was sticking to a
> > > language-neutral subset, so we have to rely on knowing the field is
> > > meant to be a date and interpreting strings.  Apparently ASP.Net has
> > > it's own...special..way of doing that, but I suspect you'll find that
> > > it's not compatible at the other end with anything but ASP.Net's own
> > > client-side JavaScript.  (Although it doesn't look particularly hard
> > > to figure out.)
>
> > > You'll have to solve this in your ASP.Net code, I'm afraid, or pre-
> > > process the JSON, or modify Prototype's JSON handling to recognise
> > > these dates. (And figure out what the format is -- why, oh why, can't
> > > people learn to use ISO 8601?!  It's a great fit for JSON, which is
> > > meant to be *human-readable*.)
>
> > > HTH,
> > > --
> > > T.J. Crowder
> > > tj / crowder software / com
>
> > > On Sep 11, 3:04 am, Kruncher <[EMAIL PROTECTED]> wrote:
> > > > Hi guys,
>
> > > > I am using the ASP.NET class DataContractJsonSerializer to transfer
> > > > information via the Prototype Ajax.Request and the server. Generally
> > > > this is working fantastically, however there is one problem, and I am
> > > > unsure whether it is something that I am doing wrong, or whether it is
> > > > something which is not yet available within the Prototype framework.
>
> > > > The ASP.NET date/time object generates the following JSON:
> > > >      dateModified":"\/Date(1220453756681+0100)\/"
>
> > > > Which Prototype appears to interpret as:
> > > >      dateModified: "/Date(1220453756681+0100)/"
>
> > > > Looking through the Prototype API documentation I found that it
> > > > converts JavaScript date/time objects into the form "-mm-
> > > > ddThh:mm:ssZ" but it does not seem to be able to automatically reverse
> > > > this back into a JavaScript date time object.
>
> > > > Any suggestions would be fantastic!
> > > > Lea Hayes
>
> > --
> > Ryan Gahl
> > Manager, Senior Software Engineer
> > Nth Penguin, LLChttp://www.nthpenguin.com
> > --
> > WebWidgetry.com / MashupStudio.com
> > Future Home of the World's First Complete Web Platform
> > --
> > Inquire: 1-920-574-2218
> > Blog:http://www.someElement.com
> > LinkedIn Profile:http://www.linkedin.com/in/ryangahl
>
>
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptaculous@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~--~~~~--~~--~--~---



[Proto-Scripty] Re: JSON, ASP.NET and Date's

2008-09-11 Thread Kruncher

Hi,

Yes I totally agree with your comment regarding 
Ajax!

Thanks, that would be fantastic! :D

Why is it that Prototype's JSON does not attempt to deserialize a date/
time string that it actually serialized?

var jsonDate = new String(new Date().toJSON());
//===> jsonDate == "2008-09-11T17:14:20Z"
var reverseDate = jsonDate.evalJSON();
//===> reverseDate == "2008-09-11T17:14:20Z"   ??? Why is this not a
Date object

Many thanks Ryan and T.J.Crowder!
Lea Hayes

On Sep 11, 2:19 pm, "Ryan Gahl" <[EMAIL PROTECTED]> wrote:
> Hi Kruncher... We use .NET with prototype (and Ext, jquery, etc)... it works
> fine with any client libraries you want to use - just don't use their
> ASP.NET  Ajax crap :)
>
> Anyway...
>
> We just override the Date serialization on the server. As you know, there
> are already a vast number of built in Date.ToString() method overloads
> possible in the .NET server side (which accepts a formatting string of
> course).
>
> We chose UTC (instead of ISO 8601 as TJ suggests)... and we just employ a
> UTC string to Date converter on the client side (in our transport layer so
> it's abstracted from the developer).
>
> I'll talk to my guys and see if we can publish some of that code...
>
> On Thu, Sep 11, 2008 at 2:01 AM, T.J. Crowder <[EMAIL PROTECTED]>wrote:
>
>
>
>
>
> > Hi,
>
> > > The ASP.NET date/time object generates the following JSON:
> > >      dateModified":"\/Date(1220453756681+0100)\/"
>
> > Unfortunately there is no JavaScript literal syntax for dates, and
> > Crockford didn't add one for JSON because he was sticking to a
> > language-neutral subset, so we have to rely on knowing the field is
> > meant to be a date and interpreting strings.  Apparently ASP.Net has
> > it's own...special..way of doing that, but I suspect you'll find that
> > it's not compatible at the other end with anything but ASP.Net's own
> > client-side JavaScript.  (Although it doesn't look particularly hard
> > to figure out.)
>
> > You'll have to solve this in your ASP.Net code, I'm afraid, or pre-
> > process the JSON, or modify Prototype's JSON handling to recognise
> > these dates. (And figure out what the format is -- why, oh why, can't
> > people learn to use ISO 8601?!  It's a great fit for JSON, which is
> > meant to be *human-readable*.)
>
> > HTH,
> > --
> > T.J. Crowder
> > tj / crowder software / com
>
> > On Sep 11, 3:04 am, Kruncher <[EMAIL PROTECTED]> wrote:
> > > Hi guys,
>
> > > I am using the ASP.NET class DataContractJsonSerializer to transfer
> > > information via the Prototype Ajax.Request and the server. Generally
> > > this is working fantastically, however there is one problem, and I am
> > > unsure whether it is something that I am doing wrong, or whether it is
> > > something which is not yet available within the Prototype framework.
>
> > > The ASP.NET date/time object generates the following JSON:
> > >      dateModified":"\/Date(1220453756681+0100)\/"
>
> > > Which Prototype appears to interpret as:
> > >      dateModified: "/Date(1220453756681+0100)/"
>
> > > Looking through the Prototype API documentation I found that it
> > > converts JavaScript date/time objects into the form "-mm-
> > > ddThh:mm:ssZ" but it does not seem to be able to automatically reverse
> > > this back into a JavaScript date time object.
>
> > > Any suggestions would be fantastic!
> > > Lea Hayes
>
> --
> Ryan Gahl
> Manager, Senior Software Engineer
> Nth Penguin, LLChttp://www.nthpenguin.com
> --
> WebWidgetry.com / MashupStudio.com
> Future Home of the World's First Complete Web Platform
> --
> Inquire: 1-920-574-2218
> Blog:http://www.someElement.com
> LinkedIn Profile:http://www.linkedin.com/in/ryangahl
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptaculous@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~--~~~~--~~--~--~---



[Proto-Scripty] Re: JSON, ASP.NET and Date's

2008-09-11 Thread Ryan Gahl
Hi Kruncher... We use .NET with prototype (and Ext, jquery, etc)... it works
fine with any client libraries you want to use - just don't use their
ASP.NET  Ajax crap :)

Anyway...

We just override the Date serialization on the server. As you know, there
are already a vast number of built in Date.ToString() method overloads
possible in the .NET server side (which accepts a formatting string of
course).

We chose UTC (instead of ISO 8601 as TJ suggests)... and we just employ a
UTC string to Date converter on the client side (in our transport layer so
it's abstracted from the developer).

I'll talk to my guys and see if we can publish some of that code...



On Thu, Sep 11, 2008 at 2:01 AM, T.J. Crowder <[EMAIL PROTECTED]>wrote:

>
> Hi,
>
> > The ASP.NET date/time object generates the following JSON:
> >  dateModified":"\/Date(1220453756681+0100)\/"
>
> Unfortunately there is no JavaScript literal syntax for dates, and
> Crockford didn't add one for JSON because he was sticking to a
> language-neutral subset, so we have to rely on knowing the field is
> meant to be a date and interpreting strings.  Apparently ASP.Net has
> it's own...special..way of doing that, but I suspect you'll find that
> it's not compatible at the other end with anything but ASP.Net's own
> client-side JavaScript.  (Although it doesn't look particularly hard
> to figure out.)
>
> You'll have to solve this in your ASP.Net code, I'm afraid, or pre-
> process the JSON, or modify Prototype's JSON handling to recognise
> these dates. (And figure out what the format is -- why, oh why, can't
> people learn to use ISO 8601?!  It's a great fit for JSON, which is
> meant to be *human-readable*.)
>
> HTH,
> --
> T.J. Crowder
> tj / crowder software / com
>
> On Sep 11, 3:04 am, Kruncher <[EMAIL PROTECTED]> wrote:
> > Hi guys,
> >
> > I am using the ASP.NET class DataContractJsonSerializer to transfer
> > information via the Prototype Ajax.Request and the server. Generally
> > this is working fantastically, however there is one problem, and I am
> > unsure whether it is something that I am doing wrong, or whether it is
> > something which is not yet available within the Prototype framework.
> >
> > The ASP.NET date/time object generates the following JSON:
> >  dateModified":"\/Date(1220453756681+0100)\/"
> >
> > Which Prototype appears to interpret as:
> >  dateModified: "/Date(1220453756681+0100)/"
> >
> > Looking through the Prototype API documentation I found that it
> > converts JavaScript date/time objects into the form "-mm-
> > ddThh:mm:ssZ" but it does not seem to be able to automatically reverse
> > this back into a JavaScript date time object.
> >
> > Any suggestions would be fantastic!
> > Lea Hayes
> >
>


-- 
Ryan Gahl
Manager, Senior Software Engineer
Nth Penguin, LLC
http://www.nthpenguin.com
--
WebWidgetry.com / MashupStudio.com
Future Home of the World's First Complete Web Platform
--
Inquire: 1-920-574-2218
Blog: http://www.someElement.com
LinkedIn Profile: http://www.linkedin.com/in/ryangahl

--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptaculous@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~--~~~~--~~--~--~---



[Proto-Scripty] Re: JSON, ASP.NET and Date's

2008-09-11 Thread T.J. Crowder

Hi,

> The ASP.NET date/time object generates the following JSON:
>  dateModified":"\/Date(1220453756681+0100)\/"

Unfortunately there is no JavaScript literal syntax for dates, and
Crockford didn't add one for JSON because he was sticking to a
language-neutral subset, so we have to rely on knowing the field is
meant to be a date and interpreting strings.  Apparently ASP.Net has
it's own...special..way of doing that, but I suspect you'll find that
it's not compatible at the other end with anything but ASP.Net's own
client-side JavaScript.  (Although it doesn't look particularly hard
to figure out.)

You'll have to solve this in your ASP.Net code, I'm afraid, or pre-
process the JSON, or modify Prototype's JSON handling to recognise
these dates. (And figure out what the format is -- why, oh why, can't
people learn to use ISO 8601?!  It's a great fit for JSON, which is
meant to be *human-readable*.)

HTH,
--
T.J. Crowder
tj / crowder software / com

On Sep 11, 3:04 am, Kruncher <[EMAIL PROTECTED]> wrote:
> Hi guys,
>
> I am using the ASP.NET class DataContractJsonSerializer to transfer
> information via the Prototype Ajax.Request and the server. Generally
> this is working fantastically, however there is one problem, and I am
> unsure whether it is something that I am doing wrong, or whether it is
> something which is not yet available within the Prototype framework.
>
> The ASP.NET date/time object generates the following JSON:
>      dateModified":"\/Date(1220453756681+0100)\/"
>
> Which Prototype appears to interpret as:
>      dateModified: "/Date(1220453756681+0100)/"
>
> Looking through the Prototype API documentation I found that it
> converts JavaScript date/time objects into the form "-mm-
> ddThh:mm:ssZ" but it does not seem to be able to automatically reverse
> this back into a JavaScript date time object.
>
> Any suggestions would be fantastic!
> Lea Hayes
--~--~-~--~~~---~--~~
You received this message because you are subscribed to the Google Groups 
"Prototype & script.aculo.us" group.
To post to this group, send email to prototype-scriptaculous@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/prototype-scriptaculous?hl=en
-~--~~~~--~~--~--~---