Android-JSON

4207 ワード

JSONって何?


JSON(JavaScript Object Notation,JSオブジェクトプロファイル)は、軽量レベルのデータ交換フォーマットです.ECMAScript(欧州コンピュータ協会が制定したjs仕様)のサブセットに基づいて、プログラミング言語とは完全に独立したテキストフォーマットを用いてデータを格納し、表す.簡潔で明確な階層はJSONを理想的なデータ交換言語にした.読み取りと作成が容易であり、同時に機械の解析と生成が容易であり、ネットワーク伝送効率を効果的に向上させる.
JSON構文規則:オブジェクトはキー値として表示され、データはカンマで区切られたかっこで保存されます.

JSONはどの2種類の構造があります


1.オブジェクト:オブジェクトがjsで「{}」と表示する拡張された内容である、データ構造が{key:value,key:value,...}のキー値ペアの構造である、オブジェクト向け言語ではkeyがオブジェクトの属性であり、valueが対応する属性値であるため、分かりやすい、値の取り方がオブジェクトである.keyは、数値、文字列、配列、オブジェクトの数種類の属性値を取得します.
2、配列:配列はjsで中括弧「[]」で拡大された内容であり、データ構造は[「java」,「javascript」,「vb」,...]であり、値の取り方はすべての言語と同様にインデックスで取得され、フィールド値のタイプは数字、文字列、配列、対象のいくつかであってもよい.

JSOnObjectの解析方法

 public static Person getPerson(String key, String jsonString) {
        Person person = new Person();
        try {
            JSONObject jsonObject = new JSONObject(jsonString);
            JSONObject personObject = jsonObject.getJSONObject("person");
            person.setId(personObject.getInt("id"));
            person.setName(personObject.getString("name"));
            person.setAddress(personObject.getString("address"));
        } catch (Exception e) {
            // TODO: handle exception
        }
        return person;
    }

JSOnArrayの解析方法

 private void parseJson(){
        String json_str="[ {\"name\":\"  \",\"age\":21,\"info\":{\"class\":\"    \",\"id\":2016001}}, {\"name\":\"  \",\"age\":22,\"info\":{\"class\":\"    \",\"id\":2016002}}]";
        try {
            JSONArray jsonArray=new JSONArray(json_str);
            JSONObject jsonObject=jsonArray.getJSONObject(1);
            JSONObject jsonObject1=jsonObject.getJSONObject("info");
            String className=jsonObject1.getString("class");
            int id=jsonObject1.getInt("id");
            json_tv_age.setText(id+"");
            json_tv_show.setText(className);

        } catch (JSONException e) {
            e.printStackTrace();
        }
    }