Json 生成与解析
JSON常用与服务器进行数据交互,JSON中“{}”表示JSONObject,“[]”表示JSONArray
如下json数据:
1 {"singers":[
2 {"id":"02","name":"tom","gender":"男","tel":["123456","789012"]},
3 {"id":"03","name":"jerry","gender":"男","tel":["899999","666666"]},
4 {"id":"04","name":"jim","gender":"男","tel":["7777","5555"]},{"id":"05","name":"lily","gender":"女","tel":["222222","111111"]}
5 ]}
生成json数据代码:
public String buildJson() throws JSonException {
JSonObject persons = new JSonObject();
JSonArray personArr = new JSonArray();
JSonObject person = new JSonObject();
person.put("id", "02");
person.put("name", "tom");
person.put("gender", "男");
JSonArray tel = new JSonArray();
tel.put("123456");
tel.put("789012");
person.put("tel", tel);
personArr.put(person);
JSonObject person2 = new JSonObject();
person2.put("id", "03");
person2.put("name", "jerry");
person2.put("gender", "男");
JSonArray tel2 = new JSonArray();
tel2.put("899999");
tel2.put("666666");
person2.put("tel", tel2);
personArr.put(person2);
JSonObject person3 = new JSonObject();
person3.put("id", "04");
person3.put("name", "jim");
person3.put("gender", "男");
JSonArray tel3 = new JSonArray();
tel3.put("7777");
tel3.put("5555");
person3.put("tel", tel3);
personArr.put(person3);
JSonObject person4 = new JSonObject();
person4.put("id", "05");
person4.put("name", "lily");
person4.put("gender", "女");
JSonArray tel4 = new JSonArray();
tel4.put("222222");
tel4.put("111111");
person4.put("tel", tel4);
personArr.put(person4);
persons.put("singers", personArr);
return persons.toString();
}
解析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));
int id = jsonObj.getInt("id");
String name = jsonObj.getString("name");
String gender = jsonObj.getString("gender");
s += "ID号" + id + ", 姓名:" + name + ",性别:" + gender + ",电话:";
JSonArray tel = jsonObj.getJSonArray("tel");
for (int j = 0; j < tel.length(); j++) {
s += tel.getString(j)+"/";
}
s += "n";
}
tv.setText(s);
} catch (JSonException e) {
e.printStackTrace();
}
}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!



