您的位置:首页 > 移动开发 > Android开发

Android中Json数据格式的解析

2017-11-03 20:50 369 查看
Json与xml是HTTP协议网络传输数据常用的两种格式。


一、什么是JSON?

JSON是一种取代XML的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。

JSON就是一串字符串 只不过元素会使用特定的符号标注。

{} 双括号表示对象

[] 中括号表示数组

"" 双引号内是属性或值

: 冒号表示后者是前者的值(这个值可以是字符串、数字、也可以是另一个数组或对象)

所以 {"name": "Michael"} 可以理解为是一个包含name为Michael的对象

而[{"name": "Michael"},{"name": "Jerry"}]就表示包含两个对象的数组

当然了,你也可以使用{"name":["Michael","Jerry"]}来简化上面一部,这是一个拥有一个name数组的对象
下面介绍常用的解析JSON数据格式的方法

使用官方自带JSONObject
使用第三方开源库,包括但不限于
GSON
FastJSON
Jackson
,本文主要介绍由Google提供的GSON库的使用方法。

2.JSONObject的使用方法






2.1 示例代码


2.2 字符串jsonData如下,图为运行结果

[{ "stu_no":12345,"stu_name":"John","stu_sex":"male"
},{ "stu_no":12346,"stu_name":"Tom","stu_sex":"male"
},{"stu_no":12347,"stu_name":"Lily","stu_sex":"female"}]





3.GSON的使用方法


3.1添加依赖库:GSON没有添加到Android的官方的API中,要添加GSON库的依赖,在app/builde.gradle中dependencies{...compile 'com.google.code.gson:gson:2.7'}


3.2 方法简介

toJson(params1),将传入对象转换为字符串
fromJson(params1,params2),传入两个参数,将字符串params1转换为params2指定的数据类型。


3.3 示例代码


3.3.1 单个对象的解析


3.3.2 JSON数组的解析(原生类)


3.3.3 JSON数组的解析(自定义类)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android json http