JSONデータ解析(JSOnArrayとJSOnObject)


1.JSONObject
  • データフォーマット:{"名前":"値","名前":"値",...}
  • 構築方法:JSOnObject(String json)は、json形式の文字列をJSOnObjectオブジェクトとして作成します.
  • has(String name)メソッド:要素が存在するかどうかを判断します.
  • get(String name)メソッド:要素の値を取得します.

  • String json={“name”:”jereh”,”homePage”:”www.jereh.com”}
        public void jsonObjectData(String json){
            try {
                JSONObject obj=new JSONObject(json);
                String name="";
                String homePage="";
                if(obj.has("name")){
                    name=obj.getString("name");
                }
                if(obj.has("homePage")){
                    homePage=obj.getString("homePage");
                }
                Toast.makeText(JsonActivity.this, "  :"+name+"  :"+homePage, Toast.LENGTH_SHORT).show();
            } catch (JSONException e) {
                e.printStackTrace();
            }
        }

    2.JSONArray
  • データフォーマット:[{"名前":"値"},{"名前":"値"},{"名前":"値"},{"名前":"値"},...]
  • 構築方法:JSOnArray(String json)は、json形式の文字列をJSOnArrayオブジェクトとして作成します.
  • length()メソッド:JSOnObjectの数を返します.
  • getJSOnObject(int index)メソッド:下付き文字に基づいてJSOnObjectを返します.

  • String ja=[{“name”:”jereh”,”homePage”:”www.jereh.com”},{“name”:”jerehedu”,”homePage”:”www.jerehedu.com”}];
      public void jsonArrayData(String ja){
            StringBuilder sbd=new StringBuilder();
            try {
                JSONArray jsa=new JSONArray(ja);
                for(int i=0;i<jsa.length();i++){
                    JSONObject jo= (JSONObject) jsa.get(i);
                    if(jo.has("name")){
                        sbd.append("  :"+jo.getString("name"));
                    }
                    if(jo.has("homePage")){
                        sbd.append("  "+jo.getString("homePage")+"
    "
    ); } } Toast.makeText(JsonActivity.this, sbd.toString(), Toast.LENGTH_SHORT).show(); } catch (JSONException e) { e.printStackTrace(); } }