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);
时间: 2024-09-20 00:10:45

ASP.NET中把对象序列化成JSON字符串的三种方法的相关文章

asp.net中显示DataGrid控件列序号的几种方法

asp.net|datagrid|datagrid控件|显示 asp.net中显示DataGrid控件列序号的几种方法 作者:郑佐 2004-9-10 在aps.net中多数据绑定的控件很多,论功能来说,应该属DataGrid最为齐全,但它没有提供现成的显示记录序号的功能,不过我们可以通过它所带的一些参数来间接得到序号,下面来看看怎样得到和显示序号值计算方式如下: (1)在后台 DataGrid.CurrentPageIndex * DataGrid.PageSize + e.Item.Item

在IOS中为什么使用多线程及多线程实现的三种方法_IOS

多线程是一个比较轻量级的方法来实现单个应用程序内多个代码执行路径. 在系统级别内,程序并排执行,程序分配到每个程序的执行时间是基于该程序的所需时间和其他程序的所需时间来决定的. 然而,在每个程序内部,存在一个或者多个执行线程,它同时或在一个几乎同时发生的方式里执行不同的任务. 概要提示: iPhone中的线程应用并不是无节制的,官方给出的资料显示,iPhone OS下的主线程的堆栈大小是1M,第二个线程开始就是512KB,并且该值不能通过编译器开关或线程API函数来更改,只有主线程有直接修改UI

SQL Server2005杂谈(4):在SQL Server2005中按列连接字符串的三种方法

本文为原创,如需转载,请注明作者和出处,谢谢! 上一篇:SQL Server2005杂谈(3):四个排名函数(row_number.rank.dense_rank和ntile)的比较 最近做一个项目,遇到一个在分组的情况下,将某一列的字段值(varchar类型)连接起来的问题,类似于sum函数对int型字段值求和. 如有一个表t_table,结构和数据如图1                                           图1     其中要按着xh字段分组,并且将每一组na

对象序列化成Json格式的问题

问题描述 使用第三方的类库Newtonsoft.Json,子类序列化时,不想包括父类的字段,请问有什么办法吗?(在不更改父类的情况下).不知道子类上标记什么特性可以忽略掉父类的字段? 解决方案 解决方案二:不包括父类的字段,那怎么反序列化呢?解决方案三:我用.NET自带的DataContractJsonSerializer,可以通过[IgnoreDataMember]Attribute来标识

ASP.NET中利用Segments取得URL的文件名的一种方法分享_实用技巧

例如:http://www.abc.com/book/list.aspx,则对应取到list.aspx.一般我们可以这样写: 复制代码 代码如下: string url = Request.Url.ToString(); string r = url.Substring(url.LastIndexOf('/') + 1); Response.Write(r); 上述方法 一般情况下是可以的,但如果URL地址带参数则会有问题.比如加上?id=3&name=Tim,则最后取得的是list.aspx?

C++中访问字符串的三种方法总结_C 语言

1.用字符数组存放一个字符串 程序1:定义一个字符数组并初始化,然后输出其中的字符串. 复制代码 代码如下: #include<iostream>using namespace std;int main(){ char str[]="I lvoe China!"; cout<<str<<endl; return 0;} 输出结果: 复制代码 代码如下: I love China! str是字符数组名,它代表数组首元素的地址,输出str的时候,从str

asp存储过程高效的动态查询结果的数据库分页三种方法

sqlPS= "select   *   From   Employee   Left   JOIN   Department   ON   Employee.DepartmentID=Department.DepartmentID   Order   By   Employee.DepartmentID,Employee.EmNO " call   GetPage_RSDT(sqlPS,con,intListCount, "PageControl ", "

关于DateTime对象序列化为Json之后的若干问题

将Datetime对象序列化成Json对象是常有的事情,微软的序列化方法会将Datetime对象序列化成一个字符串: "\/Date(1234656000000)\/" 这样的字符串相当之不友好,但微软貌似喜欢,并且Json.net在4.5之前也是这么做的.现在的Json.net在序列化的时候,会将其转换为ISO标准时间: "2009-02-15T00:00:00Z" 在使用Json.net的时候,我们还可以使用其默认的DateTime转换器来处理,这样转换的字符串

JS对象序列化为JSON对象

JS对象序列化为JSON对象,如下代码: /**    * JSON 解析类    * 方法:    * 将JSON字符串解码为页面可识别的object对象    * @param {String} json The JSON string    * @return {Object} The resulting object     * Object o = JSONUtil.decode(json);    *     * 将JS对象序列化为JSON字符串    * @param {Mixed