オルタナティブ・ブログ > ビジネスをデザインするブログ >

事業開発ほどクリエイティブな行為は他に無いと思いこんでいる人間の日常

C# というかASP.NET でJSON(Response編)

»

前回、Android 三昧という記事を書いたのですが、サーバサイドは、C#というか、Azureを利用してます。

その理由の1つに、DynamicJsonというツール(ライブラリ)を使うと、非常に簡単にJSONでレスポンスすることができるからです。

例えば、Entity Frameworkでもなんでもいいのですが、

var query = from p in source
                    select p;

とクエリを実行したら、

Response.Write(DynamicJson.Serialize(query))とするだけでレスポンス可能です。

ただ、実際は、Datetimeの文字列に「:」が含まれてしまってJSONが正しく認識されなかったり、いらないデータまで入るので、実際は間引いてやる必要がありますが、それも、難しくありません。

その際は、例えば、

public class Person
{
     public string name {get;set;}
     public string tel {get;set;}
}

などと適当なクラスを作って、

List<Person> plist = new List<Person>();

foreach(var q in query)
{
     Person psn = new Person();
     psn.name = q.name;
     psn.tel = q.tel;
     plist.add(psn);
}

などとしてから、

Response.Write(DynamicJson.Serialize(plist));

とすると、きれいに間引けます。すばらしい。

後は、Androidで処理しようが、iPhoneで処理しようがあなた次第。

Comment(0)