解析Object/
//(1).解析Object之一:
{"url" : "http://www.cnblogs.com/qianxudt"}
// 解析方法
JSONObject demoJson=new JSONObject(jsonString);
String url=demojson.getString("url");
//(2).解析Object之二:
{"name":"android","version":"iphone"};
//解析方法
JSONObject demoJson=new JSONObject(jsonString);
String name=demoJson.getString("name");
String version=demoJson.getString("version");
System.out.println("name:"+name+",version:"+version);
解析Array/
//(3)解析Array之一
{"number":[1,2,3]}
// 解析方法:
JSONObject demoJson=new JSONObject(jsonString);
JSONArray numberList=demoJson.getJSONArray("number");//获得数组的键number-->[1,2,3]
for(int i=0;i<numberList.length();i++){ // 遍历数组
//因为数字中的类型为int,所以为getInt,其他getString,getLong同用
System.out.println(numberList.getInt(i));
}
//(4).解析Array之二:
{"number":[[1],[2],[3]]}
// 解析方法
//嵌套数组遍历
JSONObject demoJson=new JSONObject(jsonString);
JSONArray numberList=demoJson.getJSONArray("number");
for(int i=0;i<numberList.length();i++){
// 获取数组中的数值
System.out.println(numberList.getJSONArray(i).getInt(0));
}
解析Object和Array混合/
//(5).解析Object和Array:
{"mobile":[{"name":"android"},{"name":"iphone"}]}
// 解析方法
JSONObject demoJson=new JSONObject(jsonString);
JSONArray numberList=new demoJson.getArray("mobile"); //mobile键,得到 ---->[{"name":"android"},{"name":"iphone"}]
for(int i=0;i<numberList.length();i++){
System.out.println(numberList.getJSONObject(i).getString(name));
}
单数据{'singer':{'id':01,'name':'tom','gender':'男'}}
多个数据{"singers":[
{'id':02,'name':'tom','gender':'男'},
{'id':03,'name':'jerry,'gender':'男'},
{'id':04,'name':'jim,'gender':'男'},
{'id':05,'name':'lily,'gender':'女'}]}
.................................................................................................
// 普通Json数据解析
private void parseJson(String strResult) {
try {
JSONObject jsonObj = new JSONObject(strResult).getJSONObject("singer");
int id = jsonObj.getInt("id");
String name = jsonObj.getString("name");
String gender = jsonObj.getString("gender");
tvJson.setText("ID号"+id + ", 姓名:" + name + ",性别:" + gender);
} catch (JSONException e) {
System.out.println("Json parse error");
e.printStackTrace();
}
}
//解析多个数据的Json
private void parseJsonMulti(String strResult) {
try {
JSONArray jsonObjs = new JSONObject(strResult).getJSONArray("singers");
String s = "";
for(int i = 0; i < jsonObjs.length() ; i++){
JSONObject jsonObj = ((JSONObject)jsonObjs.opt(i)).getJSONObject("singer");
int id = jsonObj.getInt("id");
String name = jsonObj.getString("name");
String gender = jsonObj.getString("gender");
s += "ID号"+id + ", 姓名:" + name + ",性别:" + gender+ "\n" ;
}
tvJson.setText(s);
} catch (JSONException e) {
System.out.println("Jsons parse error !");
e.printStackTrace();
}
}