zoukankan      html  css  js  c++  java
  • JavaScriptSerializer转换datatime格式为json出现/Data(时间戳)/

    public class DateTimeJavaScriptConverter : JavaScriptConverter
    {
    public override object Deserialize(IDictionary<string, object> dictionary, Type type, JavaScriptSerializer serializer)
    {
    return new JavaScriptSerializer().ConvertToType(dictionary, type);
    }

    public override IDictionary<string, object> Serialize(object obj, JavaScriptSerializer serializer)
    {
    if (!(obj is DateTime)) return null;
    return new CustomString(((DateTime)obj).ToUniversalTime().ToString("O"));
    }

    public override IEnumerable<Type> SupportedTypes
    {
    get { return new[] { typeof(DateTime) }; }
    }

    private class CustomString : Uri, IDictionary<string, object>
    {
    public CustomString(string str)
    : base(str, UriKind.Relative)
    {
    }

    void IDictionary<string, object>.Add(string key, object value)
    {
    throw new NotImplementedException();
    }

    bool IDictionary<string, object>.ContainsKey(string key)
    {
    throw new NotImplementedException();
    }

    ICollection<string> IDictionary<string, object>.Keys
    {
    get { throw new NotImplementedException(); }
    }

    bool IDictionary<string, object>.Remove(string key)
    {
    throw new NotImplementedException();
    }

    bool IDictionary<string, object>.TryGetValue(string key, out object value)
    {
    throw new NotImplementedException();
    }

    ICollection<object> IDictionary<string, object>.Values
    {
    get { throw new NotImplementedException(); }
    }

    object IDictionary<string, object>.this[string key]
    {
    get
    {
    throw new NotImplementedException();
    }
    set
    {
    throw new NotImplementedException();
    }
    }

    void ICollection<KeyValuePair<string, object>>.Add(KeyValuePair<string, object> item)
    {
    throw new NotImplementedException();
    }

    void ICollection<KeyValuePair<string, object>>.Clear()
    {
    throw new NotImplementedException();
    }

    bool ICollection<KeyValuePair<string, object>>.Contains(KeyValuePair<string, object> item)
    {
    throw new NotImplementedException();
    }

    void ICollection<KeyValuePair<string, object>>.CopyTo(KeyValuePair<string, object>[] array, int arrayIndex)
    {
    throw new NotImplementedException();
    }

    int ICollection<KeyValuePair<string, object>>.Count
    {
    get { throw new NotImplementedException(); }
    }

    bool ICollection<KeyValuePair<string, object>>.IsReadOnly
    {
    get { throw new NotImplementedException(); }
    }

    bool ICollection<KeyValuePair<string, object>>.Remove(KeyValuePair<string, object> item)
    {
    throw new NotImplementedException();
    }

    IEnumerator<KeyValuePair<string, object>> IEnumerable<KeyValuePair<string, object>>.GetEnumerator()
    {
    throw new NotImplementedException();
    }

    IEnumerator IEnumerable.GetEnumerator()
    {
    throw new NotImplementedException();
    }

    public IEnumerator GetEnumerator()
    {
    throw new NotImplementedException();
    }
    }
    }

    、、、、、、、、、、、、、、、、

    人后注册一下就可以了

    JavaScriptSerializer jss = new JavaScriptSerializer();
    jss.RegisterConverters(new JavaScriptConverter[]{ new DateTimeJavaScriptConverter()});

    jss.Serialize(users[i]).ToString()

  • 相关阅读:
    《百闻牌》
    unity插件开发:dos(cmd)命令输入窗口
    Unity插件开发:使用ScriptedImporter优化Lua文件导入
    崩坏3 渲染分析和PBR展示
    Unity插件开发:SerializedObject/SerializedProperty——查找引用的资源
    Unity插件开发:PrefabUtility(二)--Prefab实例批量Apply
    ml-agent v0.3 win10安装和实践
    Unity文件、文件引用、meta详解
    Unity开发:开启Unity项目中VS工程的属性面板
    Unity宏+RSP文件定义宏
  • 原文地址:https://www.cnblogs.com/Shjergsen/p/7058865.html
Copyright © 2011-2022 走看看