首页 > 系统 > Android > 正文

Json 生成与解析详解及实例代码

2019-12-12 04:30:15
字体:
来源:转载
供稿:网友

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

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表