Windows 8 Developers

Windowsストアアプリ開発とかその他もろもろのブログ。

※参加自由なWindows8開発コミュニティをFacebookグループでやってます。
https://www.facebook.com/groups/win8.developers/

その他、技術情報リンク集を下記にまとめています。
http://windows8-developers.hatenablog.com/entry/2013/02/20/155410


C#でのJSONパース

AndroidからのWin8開拓者の為にC#でのJSONパースのサンプルをお送りします。

Javaとの相違点としては名前付きの値と名前なしの値が切り離されていることでしょうか。

サンプルコードでは、以下のJSONがレスポンスとして返ってきたことを想定しています。

{"status":200,"result":{"users":[{"name":"user1","age":20},{"name":"user2","age":30}]}}

□sample code

HttpClient client =newHttpClient();
string response = await client.GetStringAsync("<WebAPIのURL>");

JsonObject jobj =JsonObject.Parse(response)
if(jobj.ContainsKey("status"))
{
   
double status = jobj.GetNamedNumber("status");
   
if(status ==200)
   
{
       
JsonObject result = jobj.GetNamedObject("result");
       
JsonArray users = result.GetNamedArray("users");

       
for(int i =0; i < users.Count; i++)
       
{
           
JsonObject user = users.GetObjectAt(i);
           
string name = user.GetNamedString("name");
           
double age = user.GetNamedNumber("age");
       
}
   
}
}

 

JSONを使ったデータ連携は奥が深いので、高速化ライブラリ等も紹介していきたいと思います。まずはシンプルな所からお試しください。

 

では。