Json 生成与解析详解及实例代码
更新时间:2016年11月27日 14:10:50 投稿:lqh
这篇文章主要介绍了Json 生成与解析详解及实例代码的相关资料,这里附简单实例帮助大家学习理解,需要的朋友可以参考下
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(); } }
感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!
相关文章
详解Androidstudio3.0 关于Gradle报错的问题(小结)
本篇文章主要介绍了详解Androidstudio3.0 关于Gradle报错的问题(小结),具有一定的参考价值,感兴趣的小伙伴们可以参考一下2017-10-10Android Socket服务端与客户端用字符串的方式互相传递图片的方法
这篇文章主要介绍了Android Socket服务端与客户端用字符串的方式互相传递图片的方法的相关资料,需要的朋友可以参考下2016-05-05详谈android 6.0 fuse文件系统的挂载和卸载问题
今天小编就为大家分享一篇详谈android 6.0 fuse文件系统的挂载和卸载问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2018-08-08Android中使用socket使底层和framework通信的实现方法
native和framework的通信是通过jni,但是这一般只是framework调用native,native如果有消息要怎样通知上层 呢?android中GSP模块提供一种解决思路,但是实现有些复杂,这里介绍一种使用socket通信的方法可以使native和framework自由通信,感兴趣的朋友一起看看吧2016-11-11
最新评论