zoukankan      html  css  js  c++  java
  • ASP.NET中把对象序列化成JSON字符串的三种方法

                    //方法1
                    //using System.Runtime.Serialization.Json;
                    //using System.IO;
                    //using System.Text;
                    //using System.Text.RegularExpressions;
                    DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(arr.GetType());
                    MemoryStream ms = new MemoryStream();
                    jsonSerializer.WriteObject(ms, arr);
                    String sRet = Encoding.UTF8.GetString(ms.ToArray());
                    ms.Close();
    
                    //将时间由"\/Date(10000000000-0700)\/" 格式转换成 "yyyy-MM-dd HH:mm:ss" 格式的字符串
                    string sPattern = @"\\/Date\((\d+)-\d+\)\\/";
                    MatchEvaluator myMatchEvaluator = new MatchEvaluator(m =>
                    {
                        String sRet1 = "";
                        try
                        {
                            DateTime dt = DateTime.Parse(m.Groups[1].Value);
                            dt = dt.ToUniversalTime();
                            TimeSpan ts = dt - DateTime.Parse("1970-01-01");
                            sRet1 = string.Format("\\/Date({0}-0700)\\/", ts.TotalMilliseconds);
                        }
                        catch
                        { }
                        return sRet1;
                    });
                    Regex reg = new Regex(sPattern);
                    sRet = reg.Replace(sRet, myMatchEvaluator);
    
                    //方法二(第三方)
                    //Newtonsoft.Json
                    string sRet = Newtonsoft.Json.JsonConvert.SerializeObject(arr);
                    
                    //方法三
                    //using System.Web.Script.Serialization;
                    JavaScriptSerializer serializer = new JavaScriptSerializer();
                    string sRet = serializer.Serialize(arr);
    
  • 相关阅读:
    B
    I
    C
    判断线段之间的关系(D
    C
    求矩形的周长(线段树+扫描线) Picture POJ
    面积并+扫描线 覆盖的面积 HDU
    线段树->面积并 Atlantis HDU
    E1. Array and Segments (Easy version)(暴力) && E2. Array and Segments (Hard version)(线段树维护)
    Python File writelines() 方法
  • 原文地址:https://www.cnblogs.com/liulun/p/1861441.html
Copyright © 2011-2022 走看看