Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

WCFWebAPIで、指定のREST Formatに適合するJSONを返す方法を説明する。

はじめに

出力したいJSONを確認する

まず、どのようなJSONを出力したいのかを確認します。

これがなければ、始まりません。

出力したいJSONに合わせて、クラスやプロパティを定義する

次に、出力したいJSONに合わせて、クラスやプロパティを定義します。

基本

基本的には、以下のルールに従って、クラスやプロパティを定義します。

表:ルール

出力したいJSON定義するクラス・プロパティ
{ "key1" : "value1", "key2" : "value2" }public class Sample
{
    string key1 { get; set; }
    string key2 { get; set; }
}
[ "1", "2", "3" ]List<string> listData { get; set; }
{ "key1" : [ "1", "2", "3" ] }public class Sample
{
    List<string> key1 { get; set; }
}
{ "key" : { "key1" : "value1", "key2" : "value2" } }public class Sample
{
    string key1 { get; set; }
    string key2 { get; set; }
}
public class Sample2
{
    Sample key { get; set; }
}
[ { "key1" : "value1", "key2" : "value2" },
{ "key1" : "value3", "key2" : "value4" } ]
public class Sample
{
    string key1 { get; set; }
    string key2 { get; set; }
}
List<Sample> listData { get; set; }

応用

JSONを返すサービスを作成する

WCFの場合

WCFでJSONを返す場合、既定ではDataContractJsonSerializer?が使用されます。

既定のDataContractJsonSerializer?を使用してJSONを返す方法

DataContractJsonSerializer?以外のシリアライザーを使用してJSONを返す方法

ASP.NET Web APIの場合

ASP.NET Web APIでは、既定でJSON.NETによってシリアライズされます。
このため、Dictionary型も問題なくシリアライズできます。


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS