7

このオブジェクトを保存したい:

Student s = new Student();

Jsonファイルに。しかし、Visual Studio 2012 は次の名前空間を見つけることができません。

System.Web.Script;
System.Json;
System.Runtime.Serialization.Json;

何か案が?

4

5 に答える 5

6

クラスをJsonにシリアライズしたい場合は、これも試すことができます:

JSON.NET をまだインストールしていない場合はインストールします。

必ず含めてくださいusing Newtonsoft.Json;

このコードを試すことができます:

Student s = new Student();
string json = JsonConvert.SerializeObject(s);

私の悪い英語でごめんなさい。

于 2013-03-28T23:51:14.630 に答える
6

ステップ 1: 「System.Runtime.Serialization.Json Namespace」を Google で検索し、次のページを見つけます。

System.Runtime.Serialization.Json 名前空間

ステップ 2: 興味のあるクラスをクリックします ( JsonReaderWriterFactory Classとしましょう)

ステップ 3: そのクラスがどのアセンブリに含まれているかを示す部分を読みます。

アセンブリ: System.Runtime.Serialization (System.Runtime.Serialization.dll 内)

ステップ 4: その DLL を参照としてプロジェクトに追加します。参照:方法: [参照の追加] ダイアログ ボックスを使用して参照を追加または削除する

ステップ 5: 必要に応じてステップ 1 ~ 4 を繰り返します。

于 2013-03-28T23:41:01.357 に答える
3

プロジェクトに適切な参照を追加してください。たとえば、datacontractjsonserializerクラスを使用するには、プロジェクトへの参照を追加する必要がありSystem.Runtime.Serializationます。

Visual Studioを使用している場合は、「方法: Visual Studio で参照を追加または削除する」を参照してください

その後、次のように使用できます。

DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(Student));
ser.WriteObject(outputStream, student);

もちろん、これを行うには他にも多くの方法があり、それぞれについて詳しくは説明しません (それらの名前空間をリストしたので、いくつかの例を見つけたと思います)。

ヒント: .NET クラスを使用する必要があり、それを使用するためにプロジェクトに追加する必要がある参照がわからない場合は、クラスの MSDN ページを開いて、次のようなテキストを探します。

アセンブリ: System.Runtime.Serialization (System.Runtime.Serialization.dll 内)

これが、プロジェクトに追加する必要があるアセンブリ参照です。

于 2013-03-28T23:38:49.427 に答える
2

適切なアセンブリへの参照を追加する必要があるという点で、他の答えは正しいです。個人プロジェクトの参照を管理する簡単な方法として、Visual Studio のパッケージ マネージャーであるNuGetをお勧めします。ありがたいことに、NuGet は Visual Studio 2012 に付属しているため、プロジェクトを右クリックし、[NuGet パッケージの管理] をクリックして、Json.NET を検索するだけです。Visual Studio 2012 での NuGet の使用について最初に見つけたブログ投稿はこちらで、スクリーンショット付きの適切な手順が記載されているようです。

于 2013-03-28T23:42:43.857 に答える
0

おそらく、プロジェクトへの参照を追加する必要があります。

  • System.Runtime.Serialization.Json は System.Runtime.Serialization にあります
  • System.Web.Script は System.Web.Extensions にあります
  • System.Json は Silverlight 専用です
于 2013-03-28T23:39:56.097 に答える