11

ScriptingJsonSerializationSection見つけたのですが、使い方がわかりません。<System.Web.Services.WebMethod()>オブジェクトを JSON 文字列に手動で変換する関数を作成することもできますが、.Net は属性と属性を使用してオンザフライで実行できる<System.Web.Script.Services.ScriptMethod()>ため、組み込みの方法が欠けている必要があります。

PS: Asp.Net 2.0 と VB.Net を使用 - 私はこれをタグに入れましたが、人々はそれを見逃したと思います。

4

6 に答える 6

11

これでうまくいくはずです

Dim jsonSerialiser As New System.Web.Script.Serialization.JavaScriptSerializer
Dim jsonString as String = jsonSerialiser.Serialize(yourObject)
于 2008-08-29T19:37:28.363 に答える
6

あなたが探しているのはこのクラスだと思います:

System.ServiceModel.Web.DataContractJsonSerializer

Rick Strahl の例: DataContractJsonSerializer in .NET 3.5

于 2008-08-29T19:37:45.850 に答える
4

JavaScriptSerializer クラスは技術的に非推奨になっているため、3.0 以降を使用している場合はDataContractJsonSerializerを使用することをお勧めします。

于 2008-08-29T19:40:49.260 に答える
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 での使用方法によっては、潜在的な問題がいくつかあります)。

于 2008-08-29T19:41:07.120 に答える
2

System.Web.Extensions アセンブリ、バージョン 3.5.0.0 には、必要なものを処理するJavaScriptSerializerクラスがあります。

于 2008-08-29T19:38:32.090 に答える
1

試す

System.Web.Script.Serialization.JavaScriptSerializer

またはJSON.orgをチェックしてください。あなたが望むことを正確に行うために書かれたライブラリの全リストがあります。

于 2008-08-29T19:39:06.377 に答える