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();
}
}