我找到ScriptingJsonSerializationSection
,但我不确定如何使用它。我可以编写一个函数来手动将对象转换为JSON字符串,但是因为.Net可以使用<System.Web.Services.WebMethod()>
和<System.Web.Script.Services.ScriptMethod()>
属性动态执行,所以必须有一个内置的方法,我我失踪了。
PS:使用Asp.Net 2.0和VB.Net - 我把它放在标签中,但我认为人们错过了它。
答案 0 :(得分:10)
这应该可以解决问题
Dim jsonSerialiser As New System.Web.Script.Serialization.JavaScriptSerializer
Dim jsonString as String = jsonSerialiser.Serialize(yourObject)
答案 1 :(得分:6)
我认为你要找的是这堂课:
System.ServiceModel.Web.DataContractJsonSerializer
以下是Rick Strahl的一个例子:DataContractJsonSerializer in .NET 3.5
答案 2 :(得分:4)
由于JavaScriptSerializer类在技术上已被弃用,我相信如果您使用3.0 +,DataContractJsonSerializer是最好的方法。
答案 3 :(得分:3)
好吧,我目前正在使用以下扩展方法来序列化和反序列化对象:
using System.Web.Script.Serialization;
public static string ToJSON(this object objectToSerialize)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
return jss.Serialize(objectToSerialize);
}
/// <typeparam name="T">The type we are deserializing the JSON to.</typeparam>
public static T FromJSON<T>(this string json)
{
JavaScriptSerializer jss = new JavaScriptSerializer();
return jss.Deserialize<T>(json);
}
我使用了这一点 - 预先警告,这个实现有点天真(即它有一些潜在的问题,取决于你正在序列化的内容以及你如何在客户端上使用它,特别是使用DateTimes)。 / p>
答案 4 :(得分:2)
在System.Web.Extensions程序集3.5.0.0版中,有一个JavaScriptSerializer类可以处理你想要的内容。
答案 5 :(得分:1)