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 += "
";}tv.setText(s);} catch (JSONException e) {e.printStackTrace();}}
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!