none
请问大家在使用JSON时客户端和服务端都使用哪些已有的框架啊? RRS feed

  • 问题

  • 请问大家在使用JSON时客户端和服务端都使用哪些已有的框架啊?
    我现在使用的json2.js和json.net(Newtonsoft.Json),但是当我将服务器的对象列表用json.net格式化后,在服务器端用json2.js的JSON.parse()方法
    var articles = JSON.parse(responseText);
    总是提示语法错误。
    请问在使用JSON时都应该注意些什么啊?
    做最好的自己
    2009年7月25日 11:30

答案

  • var text = "/Date(1145558371000+0800)/";
    
    string value = text.Substring(6, text.Length - 8);
    DateTimeKind kind = DateTimeKind.Utc;
    int index = value.IndexOf('+', 1);
    if (index == -1)
        index = value.IndexOf('-', 1);
    if (index != -1)
    {
        kind = DateTimeKind.Local;
        value = value.Substring(0, index);
    }
    long javaScriptTicks = long.Parse(value, System.Globalization.NumberStyles.Integer, System.Globalization.CultureInfo.InvariantCulture);
    long InitialJavaScriptDateTicks = (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Ticks;
    DateTime utcDateTime = new DateTime((javaScriptTicks * 10000) + InitialJavaScriptDateTicks, DateTimeKind.Utc);
    DateTime dateTime;
    switch (kind)
    {
        case DateTimeKind.Unspecified:
            dateTime = DateTime.SpecifyKind(utcDateTime.ToLocalTime(), DateTimeKind.Unspecified);
            break;
        case DateTimeKind.Local:
            dateTime = utcDateTime.ToLocalTime();
            break;
        default:
            dateTime = utcDateTime;
            break;
    }

    http://hi.baidu.com/2009ajun
    2009年7月25日 21:36
  • 客户端,如Ext JS和json的结合也很紧密。
    http://hi.baidu.com/2009ajun
    2009年7月25日 11:53

全部回复

  • 客户端,如Ext JS和json的结合也很紧密。
    http://hi.baidu.com/2009ajun
    2009年7月25日 11:53
  • 补充一个问题:
    怎样使用json正确格式化.net中的DateTime类型数据?

    做最好的自己
    2009年7月25日 16:50
  • var text = "/Date(1145558371000+0800)/";
    
    string value = text.Substring(6, text.Length - 8);
    DateTimeKind kind = DateTimeKind.Utc;
    int index = value.IndexOf('+', 1);
    if (index == -1)
        index = value.IndexOf('-', 1);
    if (index != -1)
    {
        kind = DateTimeKind.Local;
        value = value.Substring(0, index);
    }
    long javaScriptTicks = long.Parse(value, System.Globalization.NumberStyles.Integer, System.Globalization.CultureInfo.InvariantCulture);
    long InitialJavaScriptDateTicks = (new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).Ticks;
    DateTime utcDateTime = new DateTime((javaScriptTicks * 10000) + InitialJavaScriptDateTicks, DateTimeKind.Utc);
    DateTime dateTime;
    switch (kind)
    {
        case DateTimeKind.Unspecified:
            dateTime = DateTime.SpecifyKind(utcDateTime.ToLocalTime(), DateTimeKind.Unspecified);
            break;
        case DateTimeKind.Local:
            dateTime = utcDateTime.ToLocalTime();
            break;
        default:
            dateTime = utcDateTime;
            break;
    }

    http://hi.baidu.com/2009ajun
    2009年7月25日 21:36
  • o,sorry,我的语义有误,我的意思是怎样在客户端使用json格式化从服务端返回的DateTime类型的数据?
    不过你上面的帖子,我也收藏了。
    做最好的自己
    2009年7月26日 0:26
  • o,sorry,我的语义有误,我的意思是怎样在客户端使用json格式化从服务端返回的DateTime类型的数据?
    不过你上面的帖子,我也收藏了。
    做最好的自己
    那就倒推回去吧,呵呵。

    http://hi.baidu.com/2009ajun
    2009年7月26日 0:39