Asp.net 如何使用ActionScript解析JSON日期?

Asp.net 如何使用ActionScript解析JSON日期?,asp.net,apache-flex,json,actionscript,Asp.net,Apache Flex,Json,Actionscript,我有JSON中的日期,这些日期是使用JSON.NET库从ASP.NET页面生成的。这些日期如下所示: "LastModifiedDate": "\/Date(1301412877000-0400)\/" 如何使用Flex3 Professional中的ActionScript解析这些内容?我想要一个本地数据格式 注意:这里我没有问的是如何用as3corelib解析JSON提要。我用该库反序列化了JSON,但没有解码日期。这就是为什么我需要知道如何解码此日期格式。您需要使用的JSON实现将字符串

我有JSON中的日期,这些日期是使用JSON.NET库从ASP.NET页面生成的。这些日期如下所示:

"LastModifiedDate": "\/Date(1301412877000-0400)\/"
如何使用Flex3 Professional中的ActionScript解析这些内容?我想要一个本地数据格式


注意:这里我没有问的是如何用as3corelib解析JSON提要。我用该库反序列化了JSON,但没有解码日期。这就是为什么我需要知道如何解码此日期格式。

您需要使用的JSON实现将字符串解码为对象。

您需要使用的JSON实现将字符串解码为对象。

在ASP中,我使用此函数获取JSON日期

 public static double JsonTime(DateTime dt)
    {//Convert datetime to a Json Datetime
        DateTime d1 = new DateTime(1970, 1, 1);
        DateTime d2 = dt.ToUniversalTime();
        TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks);
        return Math.Round( ts.TotalMilliseconds,0);
    } 
然后在JavaScript中我使用:

if (data.indexOf("\/Date(")==7)
       return  new Date(+data.replace(/\D/g, ''));
如果有帮助,可以转换回日期

你也会喜欢单引号和双引号,但就我个人而言,在NETFramework3上,我找不到一个能在服务器端使用Json字符串的解码器

如果在代码中使用String=“\u0027”,那么字符串已经被转换,最后我编写了一个函数,该函数使用循环来完成任务

string Padding = "000";
                for (int f = 1; f <= 256; f++)
                {
                    string Hex = "\\u" + Padding.Substring(0, 4 - f.ToString().Length) + f;
                    string Dec = "&#" + Int32.Parse(f.ToString(), NumberStyles.HexNumber) + ";";
                    HTML = HTML.Replace(Hex, Dec);
                }
                HTML = System.Web.HttpUtility.HtmlDecode(HTML);
string Padding=“000”;

对于ASP中的(intf=1;f,我使用此函数获取Json日期

 public static double JsonTime(DateTime dt)
    {//Convert datetime to a Json Datetime
        DateTime d1 = new DateTime(1970, 1, 1);
        DateTime d2 = dt.ToUniversalTime();
        TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks);
        return Math.Round( ts.TotalMilliseconds,0);
    } 
然后在JavaScript中我使用:

if (data.indexOf("\/Date(")==7)
       return  new Date(+data.replace(/\D/g, ''));
如果有帮助,可以转换回日期

你也会喜欢单引号和双引号,但就我个人而言,在NETFramework3上,我找不到一个能在服务器端使用Json字符串的解码器

如果在代码中使用String=“\u0027”,那么字符串已经被转换,最后我编写了一个函数,该函数使用循环来完成任务

string Padding = "000";
                for (int f = 1; f <= 256; f++)
                {
                    string Hex = "\\u" + Padding.Substring(0, 4 - f.ToString().Length) + f;
                    string Dec = "&#" + Int32.Parse(f.ToString(), NumberStyles.HexNumber) + ";";
                    HTML = HTML.Replace(Hex, Dec);
                }
                HTML = System.Web.HttpUtility.HtmlDecode(HTML);
string Padding=“000”;

对于(int f=1;f这不起作用。我应该声明我使用as3corelib来获取JSON。JSON正确地绑定到我的网格,但日期没有正确解码。这是因为您使用的日期是非标准的。as3corelib解码。如果您希望字符串工作或更改服务器,您需要自己将其解码为日期的日期格式的实现。而不是根据。您最好只发送一个数字,因为您已经知道这是一个日期,请使用带有
新日期(timestamp)的时间戳进行转换客户端
。好的,我也找到了。看起来ASP.NET开发人员必须更新使用的转换器。这不起作用。我应该声明我使用as3corelib来获取JSON。JSON正确绑定到我的网格,但日期没有正确解码。这是因为您使用的日期是非标准的。as3corelib解码。您需要解码str如果您想让自己输入一个日期,或者更改服务器对该日期格式的实现。而不是根据。您最好只发送一个数字,因为您已经知道这是一个日期,请在客户端使用带有
新日期(timestamp)的时间戳进行转换
。我也找到了。看起来ASP.NET开发人员必须更新使用的转换器。