json 格式化输出

来源:互联网 发布:儿童电脑控制软件 编辑:程序博客网 时间:2024/06/06 02:33

效果

格式化前的字符串:{id=11,name="xxj",age=111,time=DateTime.Now};格式化后的字符串:{  id=11,  name="xxj",  age=111,  time='2010-1-1 1:1:1'};


需要1:Newtonsoft.Json.dll 组件

需要2:自定义扩展方法

        /// <summary>        /// 生成Json格式        /// key=字段名,value=字段值        /// </summary>        /// <typeparam name="T">待序列化的对象</typeparam>        /// <returns></returns>        /// <remarks>创建人员(日期):★xxj★(111026 19:08)</remarks>        public static string ToJsonSerialize<T>(this T obj) //where T : class        {            if (obj.IsNullOrDbNull())                return string.Empty;            if (obj is DataTable)                return DataTableToJson(obj as DataTable);            JavaScriptSerializer serialize = new JavaScriptSerializer();            //针对日期序列化时区的转化            var json = Regex.Replace(serialize.Serialize(obj), @"\\/Date\((-?\d+)\)\\/", match =>            {                var dt = new DateTime(1970, 1, 1);                dt = dt.AddMilliseconds(long.Parse(match.Groups[1].Value));                dt = dt.ToLocalTime();                return dt.ToString("yyyy-MM-dd HH:mm:ss");            });            return json;        }

格式化json代码

    /// <summary>    /// 测试json字符串格式化    /// </summary>    [TestMethod]    public void TestJsonFormat()    {        //格式化json字符串        var data = new        {            id=11,            name="xxj",            age=111,            time=DateTime.Now        };        var json = data.ToJsonSerialize();        //Newtonsoft.Json.dll, v4.5.0.0        JsonSerializer serializer = new JsonSerializer();        TextReader tr = new StringReader(json);        JsonTextReader jtr = new JsonTextReader(tr);        object obj = serializer.Deserialize(jtr);        if (obj != null)        {            StringWriter textWriter = new StringWriter();            JsonTextWriter jsonWriter = new JsonTextWriter(textWriter)            {                Formatting = Formatting.Indented,                Indentation = 4,                IndentChar = ' '            };            serializer.Serialize(jsonWriter, obj);            var jsonF = textWriter.ToString();        }        Assert.IsTrue(true);    }


0 0
原创粉丝点击