Json生成与解析
JSON常用与服务器进行数据交互,JSON中“{}”表示JSONObject,“[]”表示JSONArray
如下json数据:
{"singers":[
{"id":"02","name":"tom","gender":"男","tel":["123456","789012"]},
{"id":"03","name":"jerry","gender":"男","tel":["899999","666666"]},
{"id":"04","name":"jim","gender":"男","tel":["7777","5555"]},{"id":"05","name":"lily","gender":"女","tel":["222222","111111"]}
]}
生成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();
}
}
Json生成与解析的更多相关文章
- Android Json生成及解析实例
JSON的定义: 一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性.业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据 ...
- DELPHI XE10,JSON 生成和解析,再利用INDYHTTP控件POST
Delphi XE10,Json 生成和解析,再利用indyhttp控件Post 年09月20日 :: 阅读数: --不多说,直接上代码 procedure TFrmMain.Brand; var J ...
- Qt之JSON生成与解析
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - December ...
- 【转载】Qt之JSON生成与解析
JSON(JavaScript Object Notation)是一种轻量级的数据交换格式.它基于JavaScript(Standard ECMA-262 3rd Edition - December ...
- boost json生成和解析用法
json c++库还是有很多的,因为工作上经常使用boost,这里选用boost的json,记录下用法. 举个栗子: 如果我们要生成如下格式的json: { "name":&quo ...
- delphi c++builder JSON 生成与解析 例子
json,System.JSON,REST.JSON JSON有两种数据结构,对象和数组. 对象在js中表示为“{}”括起来的内容,数据结构为 {key:value,key:value,...} 数组 ...
- iOS开发之JSON格式数据的生成与解析
本文将从四个方面对IOS开发中JSON格式数据的生成与解析进行讲解: 一.JSON是什么? 二.我们为什么要用JSON格式的数据? 三.如何生成JSON格式的数据? 四.如何解析JSON格式的数据? ...
- fastjson生成和解析json数据,序列化和反序列化数据
本文讲解2点: 1. fastjson生成和解析json数据 (举例:4种常用类型:JavaBean,List<JavaBean>,List<String>,List<M ...
- Android 利用Gson生成或解析json
目前手机端和服务端数据交流格式一般是json,而谷歌提供了Gson来解析json.下载Gson:https://code.google.com/p/google-gson/ 下载的放在lib并导入,若 ...
随机推荐
- Maven入门详解
什么是Maven Maven,鼎鼎大名,在今天之前,我对于它一直是处于一种"只闻其名不见其人"的状态.之所以说"只闻其名",是因为Maven太有名了,它是Apa ...
- Lesson 14 Do you speak English?
Text I had an amusing experience last year. After I had left a small village in the south of France. ...
- 《深入理解Java虚拟机》内存分配策略
上节学习回顾 1.判断对象存活算法:引用计数法和可行性分析算法 2.垃圾收集算法:标记-清除算法.复制算法.标记-整理算法 3.垃圾收集器: Serial:新生代收集器,采用复制算法,单线程. Par ...
- Spring Boot -- 配置切换指南
一般在一个项目中,总是会有好多个环境.比如: 开发环境 -> 测试环境 -> 预发布环境 -> 生产环境 每个环境上的配置文件总是不一样的,甚至开发环境中每个开发者的环境可能也会有一 ...
- 【PRINCE2是什么】PRINCE2认证之七大原则(5)
我们先来回顾一下,PRINCE2七大原则分别是持续的业务验证,经验学习,角色与责任,按阶段管理,例外管理,关注产品,剪裁. 第五个原则:例外管理. PRINCE2对每个项目目标都定义了容许偏差来建立授 ...
- Android 打开方式选定后默认了改不回来?解决方法(三星s7为例)
Android 打开方式选定后默认了改不回来?解决方法(三星s7为例) 刚刚在测试东西,打开一个gif图,然后我故意选择用支付宝打开,然后...支付宝当然不支持,我觉得第二次打开它应该还会问我,没想到 ...
- ASP.NET MVC中利用AuthorizeAttribute实现访问身份是否合法以及Cookie过期问题的处理
话说来到上海已经快半年了,时光如白驹过隙,稍微不注意,时间就溜走了,倒是没有那么忙碌,闲暇之际来博客园还是比较多的,记得上次在逛博问的时候看到有同志在问MVC中Cookie过期后如何作相关处理,他在阐 ...
- WCF学习之旅—TcpTrace工具(二十六)
止文(WCF学习之旅—TcpTrace工具(二十五))介绍了关于TcpTrance的一种使用方式,接下来介绍第二种使用方式. 三.通过ListenUri实现基于tcpTracer的消息路由 对于路由的 ...
- Redis之AOF备份
redis在进行备份的时候有2种方式:1.RDB:2.AOF:现在主要讲哈AOF的备份 1.找到redis.config配置文件,大部分下载下来和redis-service同目录: 2.打开redie ...
- Python TODO
参数类型和用法 所有的双划线方法以及特性 类的构建过程 实例的构建过程 元类MetaClass 装饰器 描述符 迭代器 上下文管理器 生成器 lambda 数据结构,集合 垃圾回收机制 类方法,静态方 ...