開発ブログ

株式会社Nextatのスタッフがお送りする技術コラムメインのブログ。

電話でのお問合わせ 075-744-6842 ([月]-[金] 10:00〜17:00)

  1. top >
  2. 開発ブログ >
  3. Android >
  4. Android Jsonファイル取得について
no-image

Android Jsonファイル取得について

こんにちは!
ニシザワです。

今日は晴れていますが湿度が高くて
ジメジメしていて厚さが増しますね。
こういう気候はちょっぴり苦手です。

今日はandroidアプリのJsonファイル取得について書こうと思います。
まずJsonとはJavaScript Object Notationの略で、XMLなどと同様のテキストベースのデータフォーマットです。
Jsonファイルのアプリでの利用シーンは主にサーバーとの通信で使います。
Jsonを使うことでHTMLファイルを読み込むよりも軽いデータになります。

使い方はとてもシンプルです。
流れは
HTTP通信でJsonファイルを取得
Jsonファイルの形式にあった形で変数にパース
パースしたデータを表示
です。

それでは実際に詳しく説明していきます。
以下の様なJsonファイルを取得したとします。


[
  {
    "access":"JR琵琶湖線彦根駅から徒歩15分",
    "address":"滋賀県彦根市金亀町1-1",
    "name":"彦根城",
    "service":"入場料 大人600円、小人200円 博物館とのセット券 大人1000円、小人350円",
    "tel":"0749-22-2742(彦根城管理事務所)",
    "url":"http://www.hikoneshi.com/"
  },
  {
    "access":"JR琵琶湖線安土駅から徒歩25分",
    "address":"滋賀県近江八幡市安土町下豊浦",
    "name":"安土城跡",
    "service":"入山料 大人500円、小人100円 拝観料(土・日曜) 500円",
    "tel":"0748-46-4234",
    "url":"http://www.azuchi-shiga.com/"
  }
]

ここで注目していただきたいのが
最初がArray構造になっている点です。
ですのでこれに気をつけてパースのコードを書いていきます。

JSONArray jsons = new JSONArray(JsonFile);
for (int i = 0; i < jsons.length(); i++){
  JSONObject jsonRslt = jsons.getJSONObject(i);
  String access = jsonRslt.getString("access");
  String address = jsonRslt.getString("address");
  String name = jsonRslt.getString("name");
  String service = jsonRslt.getString("service");
  String tel = jsonRslt.getString("tel");
  String url = jsonRslt.getString("url");
}

初めにJSONArray型に取得したJsonファイルを入れます。
そのあとObject構造になっているため構造にしたがってパースしていきます。
ポイントは何回もいいますがArray構造になっているかObject構造になっているか
を見極める点です。

あとは変数にいれた文字列を好きなときに好きなところに表示するだけです。
androidではJsonの構造がデフォルトで入っているためとてもシンプルに記述することができます。
簡単なので皆さん試してみてください。

今日はJsonファイル取得について書きました。
ありがとうございました。
  • posted by Nextatスタッフ
  • Android
TOPに戻る