<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_北极·新秀</title><subtitle type="text">非注明原著，皆源之网络。</subtitle><id>http://feed.cnblogs.com/blog/u/12733/rss</id><updated>2011-07-14T02:39:15Z</updated><author><name>北极熊，我来了！</name><uri>http://www.cnblogs.com/Apollo/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Apollo/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/12733/rss"/><entry><id>http://www.cnblogs.com/Apollo/articles/2106060.html</id><title type="text">ASP.NET中JSON的序列化和反序列化</title><summary type="text">JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式。在网站应用中使用JSON的场景越来越多，本文介绍ASP.NET中JSON的序列化和反序列化，主要对JSON的简单介绍，ASP.NET如何序列化和反序列化的处理，在序列化和反序列化对日期时间、集合、字典的处理。 一、JSON简介 JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式。 JSON是“名值对”的集合。结构由大括号&amp;#39;{}&amp;#39;，中括号&amp;#39;[]&amp;#39;，逗号&amp;#39;，&amp;#39;，冒号&amp;#39;：&amp;#39;，双引号&amp;</summary><published>2011-07-14T02:39:00Z</published><updated>2011-07-14T02:39:00Z</updated><author><name>北极熊，我来了！</name><uri>http://www.cnblogs.com/Apollo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Apollo/articles/2106060.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Apollo/articles/2106060.html"/><content type="html">&amp;nbsp;&amp;nbsp;&amp;nbsp; JSON是专门为浏览器中的网页上运行的JavaScript代码而设计的一种数据格式。在网站应用中使用JSON的场景越来越多，本文介绍ASP.NET中JSON的序列化和反序列化，主要对JSON的简单介绍，ASP.NET如何序列化和反序列化的处理，在序列化和反序列化对日期时间、集合、字典的处理。 &#xD;
&lt;p&gt;&lt;strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 一、JSON简介&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;JSON(JavaScript Object Notation,JavaScript对象表示法)是一种轻量级的数据交换格式。&lt;/p&gt;&#xD;
&lt;p&gt;JSON是&amp;#8220;名值对&amp;#8221;的集合。结构由大括号'{}'，中括号'[]'，逗号'，'，冒号'：'，双引号'&amp;#8220;&amp;#8221;'组成，包含的数据类型有Object，Number,Boolean,String,Array, NULL等。&lt;/p&gt;&#xD;
&lt;p&gt;JSON具有以下的形式：&lt;/p&gt;&#xD;
&lt;p&gt;对象(Object)是一个无序的&amp;#8220;名值对&amp;#8221;集合，一个对象以&amp;#8221;{&amp;#8221;开始,&amp;#8221;}&amp;#8221;结束。每个&amp;#8220;名&amp;#8221;后跟着一个&amp;#8221;:&amp;#8221;,多个&amp;#8220;名值对&amp;#8221;由逗号分隔。如：&lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #0000ff"&gt;var&lt;/span&gt; user={&lt;span style="color: #006080"&gt;"name"&lt;/span&gt;:&lt;span style="color: #006080"&gt;"张三"&lt;/span&gt;,&lt;span style="color: #006080"&gt;"gender"&lt;/span&gt;:&lt;span style="color: #006080"&gt;"男"&lt;/span&gt;,&lt;span style="color: #006080"&gt;"birthday"&lt;/span&gt;:&lt;span style="color: #006080"&gt;"1980-8-8"&lt;/span&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;数组(Array)是值的有序集合，一个数组以&amp;#8220;[&amp;#8221;开始,以&amp;#8220;]&amp;#8221;结束，值之间使用&amp;#8220;,&amp;#8221;分隔。如：&lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #0000ff"&gt;var&lt;/span&gt; userlist=[{&lt;span style="color: #006080"&gt;"user"&lt;/span&gt;:{&lt;span style="color: #006080"&gt;"name"&lt;/span&gt;:&lt;span style="color: #006080"&gt;"张三"&lt;/span&gt;,&lt;span style="color: #006080"&gt;"gender"&lt;/span&gt;:&lt;span style="color: #006080"&gt;"男"&lt;/span&gt;,&lt;span style="color: #006080"&gt;"birthday"&lt;/span&gt;:&lt;span style="color: #006080"&gt;"1980-8-8"&lt;/span&gt;}},{&lt;span style="color: #006080"&gt;"user"&lt;/span&gt;:{&lt;span style="color: #006080"&gt;"name"&lt;/span&gt;:&lt;span style="color: #006080"&gt;"李四"&lt;/span&gt;,&lt;span style="color: #006080"&gt;"gender"&lt;/span&gt;:&lt;span style="color: #006080"&gt;"男"&lt;/span&gt;,&lt;span style="color: #006080"&gt;"birthday"&lt;/span&gt;:&lt;span style="color: #006080"&gt;"1985-5-8"&lt;/span&gt;}}];&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;字符串(String)是由双引号包围的任意数量的Unicode字符的集合，使用反斜线转义。&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 二、对JSON数据进行序列化和反序列化&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;可以使用DataContractJsonSerializer类将类型实例序列化为JSON字符串，并将JSON字符串反序列化为类型实例。DataContractJsonSerializer在System.Runtime.Serialization.Json命名空间下，.NET Framework 3.5包含在System.ServiceModel.Web.dll中，需要添加对其的引用；.NET Framework 4在System.Runtime.Serialization中。&lt;/p&gt;&#xD;
&lt;p&gt;利用DataContractJsonSerializer序列化和反序列化的代码：&lt;/p&gt;&#xD;
&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; height: 281px; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Web;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Runtime.Serialization.Json;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.IO;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   8:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   9:&lt;/span&gt; &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  10:&lt;/span&gt; &lt;span style="color: #008000"&gt;/// JSON序列化和反序列化辅助类&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  11:&lt;/span&gt; &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  12:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; JsonHelper&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  13:&lt;/span&gt; {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  14:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  15:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// JSON序列化&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  16:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  17:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; JsonSerializer&amp;lt;T&amp;gt;(T t)&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  18:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  19:&lt;/span&gt;         DataContractJsonSerializer ser = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; DataContractJsonSerializer(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(T));&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  20:&lt;/span&gt;         MemoryStream ms = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MemoryStream();&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  21:&lt;/span&gt;         ser.WriteObject(ms, t);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  22:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; jsonString = Encoding.UTF8.GetString(ms.ToArray());&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  23:&lt;/span&gt;         ms.Close();&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  24:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; jsonString;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  25:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  26:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  27:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  28:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// JSON反序列化&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  29:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  30:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; T JsonDeserialize&amp;lt;T&amp;gt;(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; jsonString)&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  31:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  32:&lt;/span&gt;         DataContractJsonSerializer ser = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; DataContractJsonSerializer(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(T));&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  33:&lt;/span&gt;         MemoryStream ms = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MemoryStream(Encoding.UTF8.GetBytes(jsonString));&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  34:&lt;/span&gt;         T obj = (T)ser.ReadObject(ms);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  35:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; obj;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  36:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  37:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;序列化Demo：&lt;/p&gt;&#xD;
&lt;p&gt;简单对象Person：&lt;/p&gt;&#xD;
&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Person&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Name { get; set; }&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; Age { get; set; }&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;序列化为JSON字符串：&lt;/p&gt;&#xD;
&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Page_Load(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;     Person p = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Person();&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;     p.Name = &lt;span style="color: #006080"&gt;"张三"&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;     p.Age = 28;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   7:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; jsonString = JsonHelper.JsonSerializer&amp;lt;Person&amp;gt;(p);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   8:&lt;/span&gt;     Response.Write(jsonString);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   9:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;输出结果：&lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;{"Age":28,"Name":"张三"} &lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;反序列化Demo：&lt;/p&gt;&#xD;
&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;protected&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Page_Load(&lt;span style="color: #0000ff"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; jsonString = &lt;span style="color: #006080"&gt;"{\"Age\":28,\"Name\":\"张三\"}"&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;     Person p = JsonHelper.JsonDeserialize&amp;lt;Person&amp;gt;(jsonString);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;运行结果：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/zhaozhan/201101/201101091755486795.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/zhaozhan/201101/201101091755503250.png" width="535" height="109" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;ASP.NET中的JSON序列化和反序列化还可以使用JavaScriptSerializer，在System.Web.Script.Serializatioin命名空间下，需引用System.Web.Extensions.dll.也可以使用JSON.NET.&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 三、JSON序列化和反序列化日期时间的处理&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;JSON格式不直接支持日期和时间。DateTime值值显示为&amp;#8220;/Date(700000+0500)/&amp;#8221;形式的JSON字符串，其中第一个数字（在提供的示例中为 700000）是 GMT 时区中自 1970 年 1 月 1 日午夜以来按正常时间（非夏令时）经过的毫秒数。该数字可以是负数，以表示之前的时间。示例中包括&amp;#8220;+0500&amp;#8221;的部分可选，它指示该时间属于Local类型，即它在反序列化时应转换为本地时区。如果没有该部分，则会将时间反序列化为Utc。&lt;/p&gt;&#xD;
&lt;p&gt;修改Person类，添加LastLoginTime：&lt;/p&gt;&#xD;
&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; Person&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; Name { get; set; }&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;int&lt;/span&gt; Age { get; set; }&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; DateTime LastLoginTime { get; set; }&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; Person p = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Person();&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; p.Name = &lt;span style="color: #006080"&gt;"张三"&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt; p.Age = 28;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt; p.LastLoginTime = DateTime.Now;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; jsonString = JsonHelper.JsonSerializer&amp;lt;Person&amp;gt;(p);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;序列化结果：&lt;/p&gt;&lt;pre&gt;{&lt;span style="color: #006080"&gt;"Age"&lt;/span&gt;:28,&lt;span style="color: #006080"&gt;"LastLoginTime"&lt;/span&gt;:&lt;span style="color: #006080"&gt;"\/Date(1294499956278+0800)\/"&lt;/span&gt;,&lt;span style="color: #006080"&gt;"Name"&lt;/span&gt;:&lt;span style="color: #006080"&gt;"张三"&lt;/span&gt;}&lt;/pre&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;1 、在后台使用正则表达式对其替换处理。修改JsonHelper：&lt;/p&gt;&#xD;
&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Linq;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Web;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Runtime.Serialization.Json;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.IO;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Text;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   8:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Text.RegularExpressions;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   9:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  10:&lt;/span&gt; &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  11:&lt;/span&gt; &lt;span style="color: #008000"&gt;/// JSON序列化和反序列化辅助类&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  12:&lt;/span&gt; &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  13:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;class&lt;/span&gt; JsonHelper&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  14:&lt;/span&gt; {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  15:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  16:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// JSON序列化&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  17:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  18:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; JsonSerializer&amp;lt;T&amp;gt;(T t)&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  19:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  20:&lt;/span&gt;         DataContractJsonSerializer ser = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; DataContractJsonSerializer(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(T));&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  21:&lt;/span&gt;         MemoryStream ms = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MemoryStream();&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  22:&lt;/span&gt;         ser.WriteObject(ms, t);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  23:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; jsonString = Encoding.UTF8.GetString(ms.ToArray());&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  24:&lt;/span&gt;         ms.Close();&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  25:&lt;/span&gt;         &lt;span style="color: #008000"&gt;//替换Json的Date字符串&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  26:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; p = &lt;span style="color: #006080"&gt;@"\\/Date\((\d+)\+\d+\)\\/"&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  27:&lt;/span&gt;         MatchEvaluator matchEvaluator = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MatchEvaluator(ConvertJsonDateToDateString);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  28:&lt;/span&gt;          Regex reg = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Regex(p);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  29:&lt;/span&gt;         jsonString = reg.Replace(jsonString, matchEvaluator);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  30:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; jsonString;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  31:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  32:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  33:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  34:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// JSON反序列化&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  35:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  36:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; T JsonDeserialize&amp;lt;T&amp;gt;(&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; jsonString)&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  37:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  38:&lt;/span&gt;         &lt;span style="color: #008000"&gt;//将"yyyy-MM-dd HH:mm:ss"格式的字符串转为"\/Date(1294499956278+0800)\/"格式&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  39:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; p = &lt;span style="color: #006080"&gt;@"\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}"&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  40:&lt;/span&gt;         MatchEvaluator matchEvaluator = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MatchEvaluator(ConvertDateStringToJsonDate);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  41:&lt;/span&gt;         Regex reg = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Regex(p);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  42:&lt;/span&gt;         jsonString = reg.Replace(jsonString, matchEvaluator);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  43:&lt;/span&gt;         DataContractJsonSerializer ser = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; DataContractJsonSerializer(&lt;span style="color: #0000ff"&gt;typeof&lt;/span&gt;(T));&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  44:&lt;/span&gt;         MemoryStream ms = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; MemoryStream(Encoding.UTF8.GetBytes(jsonString));&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  45:&lt;/span&gt;         T obj = (T)ser.ReadObject(ms);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  46:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; obj;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  47:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  48:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  49:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  50:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// 将Json序列化的时间由/Date(1294499956278+0800)转为字符串&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  51:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  52:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ConvertJsonDateToDateString(Match m)&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  53:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  54:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; result = &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.Empty;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  55:&lt;/span&gt;         DateTime dt = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; DateTime(1970,1,1);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  56:&lt;/span&gt;         dt = dt.AddMilliseconds(&lt;span style="color: #0000ff"&gt;long&lt;/span&gt;.Parse(m.Groups[1].Value));&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  57:&lt;/span&gt;         dt = dt.ToLocalTime();&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  58:&lt;/span&gt;         result = dt.ToString(&lt;span style="color: #006080"&gt;"yyyy-MM-dd HH:mm:ss"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  59:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; result;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  60:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  61:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  62:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// &amp;lt;summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  63:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// 将时间字符串转为Json时间&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  64:&lt;/span&gt;     &lt;span style="color: #008000"&gt;/// &amp;lt;/summary&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  65:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;private&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; ConvertDateStringToJsonDate(Match m)&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  66:&lt;/span&gt;     {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  67:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; result = &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.Empty;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  68:&lt;/span&gt;         DateTime dt = DateTime.Parse(m.Groups[0].Value);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  69:&lt;/span&gt;         dt = dt.ToUniversalTime();&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  70:&lt;/span&gt;         TimeSpan ts = dt - DateTime.Parse(&lt;span style="color: #006080"&gt;"1970-01-01"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  71:&lt;/span&gt;         result = &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;.Format(&lt;span style="color: #006080"&gt;"\\/Date({0}+0800)\\/"&lt;/span&gt;,ts.TotalMilliseconds);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  72:&lt;/span&gt;         &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; result;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  73:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  74:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;序列化Demo：&lt;/p&gt;&#xD;
&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; Person p = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Person();&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; p.Name = &lt;span style="color: #006080"&gt;"张三"&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt; p.Age = 28;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt; p.LastLoginTime = DateTime.Now;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; jsonString = JsonHelper.JsonSerializer&amp;lt;Person&amp;gt;(p);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;运行结果：&lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;{&lt;span style="color: #006080"&gt;"Age"&lt;/span&gt;:28,&lt;span style="color: #006080"&gt;"LastLoginTime"&lt;/span&gt;:&lt;span style="color: #006080"&gt;"2011-01-09 01:00:56"&lt;/span&gt;,&lt;span style="color: #006080"&gt;"Name"&lt;/span&gt;:&lt;span style="color: #006080"&gt;"张三"&lt;/span&gt;}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;反序列化Demo：&lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt; json = &lt;span style="color: #006080"&gt;"{\"Age\":28,\"LastLoginTime\":\"2011-01-09 00:30:00\",\"Name\":\"张三\"}"&lt;/span&gt;;&lt;/pre&gt;&lt;pre&gt;p=JsonHelper.JsonDeserialize&amp;lt;Person&amp;gt;(json);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;运行结果：&lt;/p&gt;&#xD;
&lt;p&gt;&lt;a href="http://images.cnblogs.com/cnblogs_com/zhaozhan/201101/2011010917555153.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/zhaozhan/201101/20110109175552477.png" width="523" height="96" /&gt;&lt;/a&gt; &lt;/p&gt;&#xD;
&lt;p&gt;在后台替换字符串适用范围比较窄，如果考虑到全球化的有多种语言还会更麻烦。&lt;/p&gt;&#xD;
&lt;p&gt;2、利用JavaScript处理&lt;/p&gt;&#xD;
&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;function&lt;/span&gt; ChangeDateFormat(jsondate) {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt;     jsondate = jsondate.replace(&lt;span style="color: #006080"&gt;"/Date("&lt;/span&gt;, &lt;span style="color: #006080"&gt;""&lt;/span&gt;).replace(&lt;span style="color: #006080"&gt;")/"&lt;/span&gt;, &lt;span style="color: #006080"&gt;""&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (jsondate.indexOf(&lt;span style="color: #006080"&gt;"+"&lt;/span&gt;) &amp;gt; 0) {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;         jsondate = jsondate.substring(0, jsondate.indexOf(&lt;span style="color: #006080"&gt;"+"&lt;/span&gt;));&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;else&lt;/span&gt; &lt;span style="color: #0000ff"&gt;if&lt;/span&gt; (jsondate.indexOf(&lt;span style="color: #006080"&gt;"-"&lt;/span&gt;) &amp;gt; 0) {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   7:&lt;/span&gt;         jsondate = jsondate.substring(0, jsondate.indexOf(&lt;span style="color: #006080"&gt;"-"&lt;/span&gt;));&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   8:&lt;/span&gt;     }&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   9:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  10:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; date = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Date(parseInt(jsondate, 10));&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  11:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; month = date.getMonth() + 1 &amp;lt; 10 ? &lt;span style="color: #006080"&gt;"0"&lt;/span&gt; + (date.getMonth() + 1) : date.getMonth() + 1;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  12:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;var&lt;/span&gt; currentDate = date.getDate() &amp;lt; 10 ? &lt;span style="color: #006080"&gt;"0"&lt;/span&gt; + date.getDate() : date.getDate();&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  13:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;return&lt;/span&gt; date.getFullYear() + &lt;span style="color: #006080"&gt;"-"&lt;/span&gt; + month + &lt;span style="color: #006080"&gt;"-"&lt;/span&gt; + currentDate;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;  14:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;简单Demo ：&lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;ChangeDateFormat(&lt;span style="color: #006080"&gt;"\/Date(1294499956278+0800)\/"&lt;/span&gt;);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;结果：&lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;2011-1-8&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; 四、JSON序列化和反序列化集合、字典、数组的处理&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;&#xD;
&lt;p&gt;在JSON数据中，所有的集合、字典和数组都表示为数组。&lt;/p&gt;&#xD;
&lt;p&gt;List&amp;lt;T&amp;gt;序列化:&lt;/p&gt;&#xD;
&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; List&amp;lt;Person&amp;gt; list = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;Person&amp;gt;()&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Person(){ Name=&lt;span style="color: #006080"&gt;"张三"&lt;/span&gt;, Age=28},&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;     &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Person(){ Name=&lt;span style="color: #006080"&gt;"李四"&lt;/span&gt;, Age=25}&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt; };&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   7:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; jsonString = JsonHelper.JsonSerializer&amp;lt;List&amp;lt;Person&amp;gt;&amp;gt;(list);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;序列化结果： &lt;/p&gt;&#xD;
&lt;div&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #006080"&gt;"[{\"Age\":28,\"Name\":\"张三\"},{\"Age\":25,\"Name\":\"李四\"}]"&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/strong&gt;字典不能直接用于JSON，Dictionary字典转化为JSON并不是跟原来的字典格式一致，而是形式以Dictionary的Key作为名称&amp;#8221;Key&amp;#8220;的值，以Dictionary的Value作为名称为&amp;#8221;Value&amp;#8220;的值 。如：&lt;/p&gt;&#xD;
&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; Dictionary&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt; dic = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; Dictionary&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt;();&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; dic.Add(&lt;span style="color: #006080"&gt;"Name"&lt;/span&gt;, &lt;span style="color: #006080"&gt;"张三"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt; dic.Add(&lt;span style="color: #006080"&gt;"Age"&lt;/span&gt;, &lt;span style="color: #006080"&gt;"28"&lt;/span&gt;);&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; jsonString = JsonHelper.JsonSerializer &amp;lt; Dictionary&amp;lt;&lt;span style="color: #0000ff"&gt;string&lt;/span&gt;, &lt;span style="color: #0000ff"&gt;string&lt;/span&gt;&amp;gt;&amp;gt;(dic);&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;序列化结果：&lt;/p&gt;&#xD;
&lt;div style="border-bottom: gray 1px solid; border-left: gray 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 97.5%; padding-right: 4px; font-family: consolas, 'Courier New', courier, monospace; max-height: 200px; font-size: 8pt; overflow: auto; border-top: gray 1px solid; cursor: text; border-right: gray 1px solid; padding-top: 4px"&gt;&#xD;
&lt;div style="border-bottom-style: none; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: consolas, 'Courier New', courier, monospace; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;pre&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #006080"&gt;"[{\"Key\":\"Name\",\"Value\":\"张三\"},{\"Key\":\"Age\",\"Value\":\"28\"}]"&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;&lt;/p&gt;&#xD;
&lt;p&gt;JSON官网：&lt;a href="http://www.json.org/json-zh.html"&gt;&lt;font color="#075db3"&gt;http://www.json.org/json-zh.html&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;独立JSON序列化：&lt;a href="http://msdn.microsoft.com/zh-cn/library/bb412170.aspx"&gt;&lt;font color="#075db3"&gt;http://msdn.microsoft.com/zh-cn/library/bb412170.aspx&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&#xD;
&lt;p&gt;如何对JSON序列化和反序列化：&lt;a href="http://msdn.microsoft.com/zh-cn/library/bb412179.aspx"&gt;&lt;font color="#075db3"&gt;http://msdn.microsoft.com/zh-cn/library/bb412179.aspx&lt;/font&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.cnblogs.com/Apollo/aggbug/2106060.html?type=2" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/Apollo/articles/2106060.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/Apollo/archive/2009/06/13/1502429.html</id><title type="text">C#读取Rss功能函数</title><summary type="text">代码其实很简单，这里只做个记录吧，C#读取Rss数据源，生成对应的DataTable。</summary><published>2009-06-12T23:11:00Z</published><updated>2009-06-12T23:11:00Z</updated><author><name>北极熊，我来了！</name><uri>http://www.cnblogs.com/Apollo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Apollo/archive/2009/06/13/1502429.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Apollo/archive/2009/06/13/1502429.html"/></entry><entry><id>http://www.cnblogs.com/Apollo/archive/2007/09/01/878319.html</id><title type="text">《中文防止乱码的万能解决方案》</title><summary type="text">JavaScript中防止中文乱码的最强的解决方案，不管Utf-8或者Gb2312下面都不会乱码，感谢作者的分享，真是一种强悍的解决方案！&#xD;索引：JavaScript 中文乱码 Big5编码 解决方案</summary><published>2007-09-01T07:55:00Z</published><updated>2007-09-01T07:55:00Z</updated><author><name>北极熊，我来了！</name><uri>http://www.cnblogs.com/Apollo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Apollo/archive/2007/09/01/878319.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Apollo/archive/2007/09/01/878319.html"/></entry><entry><id>http://www.cnblogs.com/Apollo/archive/2007/08/21/864606.html</id><title type="text">《小偷程序：自动获取百度天气预报》</title><summary type="text">人是活的，程序是死的，要用一种灵活的思维去实现某些想要实现的功能。天气预报的代码，或许是我转化编程思路的转折点吧，呵呵，重要的是我实现了，而且效率很高，至少不用每次都去抓取百度的天气预报，保证了自己网站打开的速度，这点很重要。&#xD;索引：NET2.0 百度 Baidu 天气预报 小偷 思维</summary><published>2007-08-21T14:57:00Z</published><updated>2007-08-21T14:57:00Z</updated><author><name>北极熊，我来了！</name><uri>http://www.cnblogs.com/Apollo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Apollo/archive/2007/08/21/864606.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Apollo/archive/2007/08/21/864606.html"/></entry><entry><id>http://www.cnblogs.com/Apollo/archive/2007/06/13/782647.html</id><title type="text">Asp.NET使用HTML控件上传文件</title><summary type="text">很多事情或许微软是帮我们实现了，也很简单，代码都不用怎么书写，但是现在看来不知道我们的服务器的问题还是怎么的，好像服务端的控件在实际使用过程，速度严重的慢，远远没有Asp下的HTML控件速度快，所以这次做的项目压根就没有用到一点服务器端的控件了，可惜啊，代码是少写了，可是速度缺慢了，诶。</summary><published>2007-06-13T12:41:00Z</published><updated>2007-06-13T12:41:00Z</updated><author><name>北极熊，我来了！</name><uri>http://www.cnblogs.com/Apollo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Apollo/archive/2007/06/13/782647.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Apollo/archive/2007/06/13/782647.html"/></entry><entry><id>http://www.cnblogs.com/Apollo/archive/2007/06/06/774241.html</id><title type="text">《JS两级联动菜单学习全接触》</title><summary type="text">JS联动菜单，好像在FireFox下是没有办法运行的，还在检查原因中……有哪位知道解决办法的，说下，好不？谢谢了！</summary><published>2007-06-06T13:40:00Z</published><updated>2007-06-06T13:40:00Z</updated><author><name>北极熊，我来了！</name><uri>http://www.cnblogs.com/Apollo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Apollo/archive/2007/06/06/774241.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Apollo/archive/2007/06/06/774241.html"/></entry><entry><id>http://www.cnblogs.com/Apollo/archive/2007/05/21/753802.html</id><title type="text">活动目录ADSI实现添加系统帐号问题！！！</title><summary type="text">上篇文件地址：http://www.cnblogs.com/Apollo/archive/2007/05/20/753088.html，其实我想实现的功能很简单，在windows2003系统上面，我需要用ADSI创建一个系统帐号，帐号现在是可以创建起来，但是有些权限是有问题的问题现在还没有搞明白，有人做过这块的编程吗？我的问题如下：1、const int UF_SCRIPT = 0x0001;  ...</summary><published>2007-05-21T02:10:00Z</published><updated>2007-05-21T02:10:00Z</updated><author><name>北极熊，我来了！</name><uri>http://www.cnblogs.com/Apollo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Apollo/archive/2007/05/21/753802.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Apollo/archive/2007/05/21/753802.html"/></entry><entry><id>http://www.cnblogs.com/Apollo/archive/2007/05/20/753088.html</id><title type="text">ADSI管理Windows2003系统帐号</title><summary type="text">活动目录编程操作Window2003\Window NT系统用户帐号，管理IIS站点等功能确实不错，就是不知道这样的功能留着，对系统来说安全不安全，有时间要好好研究下这块功能了。</summary><published>2007-05-20T04:01:00Z</published><updated>2007-05-20T04:01:00Z</updated><author><name>北极熊，我来了！</name><uri>http://www.cnblogs.com/Apollo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Apollo/archive/2007/05/20/753088.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Apollo/archive/2007/05/20/753088.html"/></entry><entry><id>http://www.cnblogs.com/Apollo/archive/2007/05/14/746405.html</id><title type="text">中国频道空间使用Jmail发送邮件</title><summary type="text">最近在弄一个客户的网站，需要使用Asp+JMail发送邮件，在确定空间是支持Jmail组件之后，终于决定要把两年前的老伙计搬出来了。&#xD;代码其实很简单，以前也是网络上收藏的，只是比较经典吧而且是有效可以使用的，现在Baidu方便是方便，就是急用的时候经常会搜索不出你真正想要的东西，诶，网络垃圾泛滥了。有一点需要注意的是，中国频道的空间，那些都是一样的，就是发送帐号需要写全，不然不能正确发送的。</summary><published>2007-05-14T14:23:00Z</published><updated>2007-05-14T14:23:00Z</updated><author><name>北极熊，我来了！</name><uri>http://www.cnblogs.com/Apollo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Apollo/archive/2007/05/14/746405.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Apollo/archive/2007/05/14/746405.html"/></entry><entry><id>http://www.cnblogs.com/Apollo/archive/2007/05/12/744162.html</id><title type="text">《IP地址和数字之间转化的算法》</title><summary type="text">在做项目的时候应该都会用到IP地址转化的这个函数，呵呵，虽然很容易就找的到，不过还是先收藏下，毕竟在自己的空间上找起来比较方便些。</summary><published>2007-05-12T11:09:00Z</published><updated>2007-05-12T11:09:00Z</updated><author><name>北极熊，我来了！</name><uri>http://www.cnblogs.com/Apollo/</uri></author><link rel="alternate" href="http://www.cnblogs.com/Apollo/archive/2007/05/12/744162.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/Apollo/archive/2007/05/12/744162.html"/></entry></feed>
