teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

追記

2016/04/29 10:20

投稿

tkanda
tkanda

スコア2425

answer CHANGED
@@ -1,3 +1,4 @@
1
+ ###C#オブジェクトのJSON文字列化
1
2
  ASP.NETでオブジェクトをJSONテキスト化する場合、.Net Framework 標準の [DataContractJsonSerializer ](https://msdn.microsoft.com/ja-jp/library/system.runtime.serialization.json.datacontractjsonserializer(v=vs.110).aspx) というクラスが使えます。
2
3
 
3
4
  ただし、よく使われるのは [Json.NET](http://www.newtonsoft.com/json) というオープンソースライブラリのようです。こちらのほうが処理速度が速いと言われています。Json.NET の使い方等については、下記のサイトが解りやすいです。
@@ -6,5 +7,11 @@
6
7
  - [C#でJSONを扱うライブラリ「Json.NET」を使ってみました](http://qiita.com/ta-yamaoka/items/a7ff1d9651310ade4e76)
7
8
  - [Serialize an Object(公式サンプル集)](http://www.newtonsoft.com/json/help/html/SerializeObject.htm)
8
9
 
10
+ ###JSON文字列をブラウザ側のJavaScriptに渡す方法
11
+ WCF自体はASP.NETでJSONを取り扱う上で必須ではないですし、おそらく難解すぎて先に進めなくなると思いますので、とりあえず忘れましょう。
9
12
 
13
+ JSON化するデータオブジェクトがASP.NETでページを生成する時点で存在しているのであれば、ページ初期化のタイミングで上記の方法でJSONテキスト化して、それをページに埋め込むことになります。
14
+
15
+ そうではなく、データオブジェクトがページ上のユーザー操作(ボタンクリック等)によって生成される場合、AJAX の仕組みを実装する必要があるかもしれません。素のASP.NETなのか、ASP.NET MVCなのかにより実装の方法はいろいろあります。
16
+
10
17
  ご参考になれば。