栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android 数据传递之JSON --GSON

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android 数据传递之JSON --GSON

JSON 的全称是 JavaScript Object Notation ,也就是 JavaScript 对象表示法 JSON 是存储和交换文本信息的语法,类似 XML ,但是比 XML 更小、更快,更易解析 JSON 是轻量级的文本数据交换格式,独立于语言,具有可描述性,更易理解,对象可以包含多个名称 / 值对,比如:
{"name":"zhangsan" , "age":25}

 json简单说就是对象和数组,所以这两种结构就是对象和数组两种结构,通过这两种结构可以表示各种复杂的结构

1 、对象:对象表示为 “{}” 扩起来的内容,数据结构为 {key : value,key : value,...} 的键值对的结构,在面 向对象的语言中,key 为对象的属性, value 为对应的属性值,所以很容易理解,取值方法为 对象 .key 获 取属性值,这个属性值的类型可以是 数字、字符串、数组、对象几种。 2 、数组:数组在 json 中是中括号 “[]” 扩起来的内容,数据结构为 ["java","javascript","vb",...] ,取值方式和 所有语言中一样,使用索引获取,字段值的类型可以是 数字、字符串、数组、对象几种。 经过对象、数组 2 种结构就可以组合成复杂的数据结构了。
1 , SDK 提供        JSONArray, JSONObject 2 , google 提供的 Gson         通过fromJson() 实现对象的反序列化(即将 json 串转换为对象类型)         通过toJson() 实现对象的序列化 (即将对象类型转换为json 串)

 使用谷歌的GSON包进行解析,在 Android Studio 里引入依赖:

compile  'com.google.code.gson:gson:2.7'

 值得注意的是实体类中变量名称必须和json中的值名字相同。

使用示例: 1 、解析成实体类:
Gson gson = new Gson();
Student student = gson.fromJson(json1, Student.class);
2 、解析成 int 数组:
Gson gson = new Gson();
int[] ages = gson.fromJson(json2, int[].class);
3 、直接解析成 List.

Gson gson = new Gson();
List ages = gson.fromJson(json2, newTypeToken>()
{}.getType);
Gson gson = new Gson();
List students = gson.fromJson(json3, newTypeToke>()
{}.getType);

优点:
  1. 轻量级的数据交换格式
  2. 读写更加容易
  3. 易于机器的解析和生成
缺点:
  1. 语义性较差,不如 xml 直观

————————————————

版权声明:本文为CSDN博主 CongPong 的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/CongPong/article/details/125891899
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1020216.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号