我已经找到了 ScriptingJsonSerializationSection 但我不知道如何使用它。我可以写一个函数转换的对象JSON串手动,但自那以后。净可以做到这一上飞 <System.Web.Services.WebMethod()><System.Web.Script.Services.ScriptMethod()> 属性,所以必须有一个内置的办法,我丢失了。

PS:使用Asp.Net 2.0VB.Net -我把这个标记,但我认为人们错过了。

有帮助吗?

解决方案

这应该做的把戏

Dim jsonSerialiser As New System.Web.Script.Serialization.JavaScriptSerializer
Dim jsonString as String = jsonSerialiser.Serialize(yourObject)

其他提示

我觉得你在找什么是这类:

System.ServiceModel.Web.DataContractJsonSerializer

这里有一个例子是从里克Strahl: DataContractJsonSerializer。净3.5

由于JavaScriptSerializer类在技术上是正在过时,我认为 DataContractJsonSerializer 是最好的路要走,如果你使用的3.0+.

好吧,我目前正在使用以下延伸方法的序列化和deserialize的对象:

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).

在该系统。网。扩展大会,版本3.5.0.0,还有一个 JavaScriptSerializer 类应该处理你想要什么。

尝试

System.Web.Script.Serialization.JavaScriptSerializer

或者检查出来的 JSON.org 有一个整体清单的图书馆的书面要做的正是你想要什么。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top