AndroidにおけるJSON関連応用分析について

3631 ワード

AndroidにおけるJSON関連アプリケーションについて分析した.皆さんの参考にしてください.具体的には以下の通りです.
JSONの定義:
軽量レベルのデータ交換フォーマットで、読み取りやすく、迅速に作成しやすい特性を備えています.業界の主流テクノロジーは、正規表現に似ており、現在のほとんどの言語でサポートされている完全なソリューションを提供し、異なるプラットフォーム間でデータ交換を行うことができます.JSONは互換性の高いテキスト形式を採用し、C言語体系に類似した行為も備えている.�C Json.org
JSONの構成:
Name/Value Pairsは、よく知られているKeyリスト、Hash table、Disctionary、Associative arrayに似ています.Androidプラットフォームには別のクラス「Bundle」が同時に存在し、ある程度似たような行為をしている.org.json.JSONObject
Arrayは、秩序あるデータのリストです.org.json.JSONArray
AndroidにはJSONに関連する4つのクラスとExceptionsが含まれています.
JSONArray JSONObject JSONStringer JSONTokener JSONException
JSONObject:
これはシステムにおけるJSON定義に関する基本ユニットであり,ペア(Key/Value)の数値を含む.外部(External:toString()メソッドを適用して出力される数値)呼び出しに対する応答は、標準的な文字列(たとえば、{「JSON」:「Hello,World」}、最も外側は括弧で囲まれ、その中のKeyとValueは「:」で区切られている)として表されます.内部(Internal)の動作に対する動作フォーマットは、例えば、JSOnObjectのインスタンスを初期化し、内部のput()メソッドを参照して数値を追加する:new JSOnObject()である.put("JSON", "Hello, World!"),KeyとValueの間にはカンマ","で区切られています.
Valueのタイプには、Boolean、JSOnArray、JSOnObject、Number、String、またはデフォルト値JSOnObjectがある.NULL object.
2つの異なる値の取り方があります.
get():数値の存在を決定する条件で使用します.そうしないと、関連するKeyを取得できない場合、Exception情報が放出されます.opt():この方法は比較的柔軟で、指定した数値を取得できない場合、デフォルトの数値が返され、例外は放出されません.
JSONArray:
規則化された数値のセットを表します.これをString出力(toString)に変換する形式は、角カッコで囲まれ、数値はカンマ「,」で区切られています([value 1,value 2,value 3],短いコードでフォーマットをより直感的に理解することができます).このクラスの内部にはクエリー動作もあり、get()とopt()の両方のメソッドはindexインデックスで指定した数値を返すことができ、put()メソッドは数値を追加または置換するために使用されます.
同様に、このクラスのvalueタイプには、Boolean、JSOnArray、JSOnObject、Number、String、またはデフォルト値JSOnObjectが含まれる.NULL object.
JSONStringer:
公式の解釈によると、このクラスはJSOntextの迅速かつ容易な作成を助けることができる.その最大の利点は,フォーマットの誤りによるプログラム異常を低減できることであり,このクラスを参照するとJSON構文規則(syntaxrules)に従ってJSON textを自動的に厳密に作成できることである.JSOnStringerエンティティごとに1つのJSON textしか作成できません.
その他の関連情報は、下の例に基づいて説明します.

string myString = new JSONStringer().object()
                  .key("AR").value("www.Androidres.com!")
                  .endObject()
                  .toString();


結果は標準フォーマットのJSON text:{「AR」:「www.Androidres.com!」その中のobject()と.endObject()は、Object基準に従って数値に境界を追加するために同時に使用する必要があります.同様に、配列に対しても境界を生成するための標準的な方法のセットがある.Array()と.endArray().
JSONTokener:
これはシステムがJSOnObjectとJSOnArrayコンストラクタのためにJSONソースstringを解析するクラスで、ソースstringから数値情報を抽出することができます.
JSONException:
JSONです.orgクラスから放出された異常情報.
完全なアプリケーションインスタンス(androidsnippets.org)を参照します.
JSOnObjectを適用してMapタイプの数値を格納する:

public static JSONObject getJSON(Map map) {
  Iterator iter = map.entrySet().iterator();
  JSONObject holder = new JSONObject();
  while (iter.hasNext()) {
    Map.Entry pairs = (Map.Entry) iter.next();
    String key = (String) pairs.getKey();
    Map m = (Map) pairs.getValue();
    JSONObject data = new JSONObject();
    try {
      Iterator iter2 = m.entrySet().iterator();
      while (iter2.hasNext()) {
        Map.Entry pairs2 = (Map.Entry) iter2.next();
        data.put((String) pairs2.getKey(), (String) pairs2.getValue());
      }
      holder.put(key, data);
    } catch (JSONException e) {
      Log.e("Transforming", "There was an error packaging JSON",e);
    }
  }
  return holder;
}


Androidに関する詳細について興味のある方は、「Androidプログラミングのactivity操作テクニックまとめ」、「Androidファイル操作テクニックまとめ」、「Androidプログラミング開発のSDカード操作方法まとめ」、「Android開発入門と進級チュートリアル」、「Androidリソース操作テクニックまとめ」、「AndroidビューViewテクニックまとめ」、「Androidコントロール使い方まとめ」をご覧ください.
この文書がAndroidプログラムの設計に役立つことを願っています.