我目前正在尝试Json.NET,它似乎运作良好。
.NET的其他任何好的JSON库?
答案 0 :(得分:5)
asp.net mvc和asp.net ajax使用了JavascriptSerialiser。此外,还有WCF使用的DataContractJsonSerialiser。我在JavascriptSerialiser上遇到的唯一问题是它使用有趣的方式来序列化日期,我认为这不会解析为javascript日期。但是这个片段很容易解决
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;
}
答案 1 :(得分:4)
JavaScriptSerializer命名空间中的类System.Web.Script.Serialization提供了良好的JSON序列化/反序列化支持。
答案 2 :(得分:1)
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.