JSON是什么
JSON(Java Script Object Notation)是一种轻量级的数据交换语言
JSON数据格式应用非常广泛,大多数服务端返回的接口数据都是采用JSON数据格式的
JSON有哪两种结构
单条JSON数据,Android中称之为JSONObject
多条JSON组合,Android中称之为JSONArray
如何解析JSONObject(附案例)
解析String json_str=”{\”name\”:\”张三\”}”字符串,将name显示在TextView上:
private void parseJson() {
String json_str="{\"name\":\"张三\"}";
try {
JSONObject jsonObject=new JSONObject(json_str);
String name=jsonObject.getString("name");
nameTV.setText(name);
} catch (JSONException e) {
e.printStackTrace();
}
}
如何解析JSONArray(附案例)
解析String json_str=”[ {\”name\”:\”张三\”,\”age\”:21}, {\”name\”:\”李四\”,\”age\”:22}]”字符串,将两个学生的name和age显示在TextView上:
private void parseJson2() {
String json_str="[ {\"name\":\"张三\",\"age\":21}, {\"name\":\"李四\",\"age\":22}]";
try {
JSONArray jsonArray=new JSONArray(json_str);
//通过取数组下标来取相应的JSONObject数据,[0]是第一条
JSONObject obj1=jsonArray.getJSONObject(0);
String name=obj1.getString("name");
int age=obj1.getInt("age");
//[1]是第二条
JSONObject obj2=jsonArray.getJSONObject(1);
String classname=obj2.getString("name");
int id=obj2.getInt("age");
nameTV.setText(name);
ageTV.setText(age+"");
classTV.setText(classname);
idTV.setText(id+"");
} catch (JSONException e) {
e.printStackTrace();
}
}