【发布时间】:2009-06-12 12:23:07
【问题描述】:
【问题讨论】:
标签: javascript .net json
【问题讨论】:
标签: javascript .net json
有 JavascriptSerialiser 被 asp.net mvc 和 asp.net ajax 使用。还有 WCF 使用的DataContractJsonSerialiser。我在使用 JavascriptSerialiser 时遇到的唯一问题是它使用有趣的方式来序列化日期,我认为它不会解析为 javascript 日期。但是这个sn-p很容易解决这个问题
public double MilliTimeStamp()
{
DateTime d1 = new DateTime(1970, 1, 1);
DateTime d2 = DateTime.UtcNow;
TimeSpan ts = new TimeSpan(d2.Ticks - d1.Ticks);
return ts.TotalMilliseconds;
}
【讨论】:
System.Web.Script.Serialization 命名空间中的类 JavaScriptSerializer 提供了良好的 JSON 序列化/反序列化支持。
【讨论】:
Jayrock 运行良好,并且可以透明地将您的对象与 JSON 对象相互转换,前提是它们具有公共构造函数。它还为您创建脚本,因此您可以像 Javascript 类一样调用您的 Web 服务。
public class Person
{
public string Name { get;set;}
public int Age { get;set; }
public Person() { }
}
public class MyService : JsonRpcHandler
{
[JsonRpcMethod("getBob")]
public Person GetBob()
{
return new Person() { Name="Bob",Age=20};
}
}
还有 Javascript:
var service = new MyService();
var result = service.getBob();
alert(result.name); // JSON objects are camel-cased.
【讨论】: