第三方开源库--> GSON 解析 JSON 数据
Posted Kevin_小飞象
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三方开源库--> GSON 解析 JSON 数据相关的知识,希望对你有一定的参考价值。
JSON 数据
XML
与 JSON
的区别:
JSON
和XML
的数据可读性基本相同JSON
和XML
同样拥有丰富的解析手段JSON
相对于XML
来讲,数据的体积小JSON
与javascript
的交互更加方便JSON
对数据的描述性比XML
较差JSON
的速度要远远快于XML
。
1. JSON
的格式规范
语法规则如下:
- 数据在“名称/值”对中;
- 数据由逗号分隔;
- 花括号保存对象;
- 方括号保存数组;
2. JSON
数据的书写格式范例
[
"id":"1","name":"WGH","age":"18" ,
"id":"2","name":"WillFlow","age":"16"
]
JSON
校验工具
我们除了解析json
还可以自己拼接json
,当然如果你自己拼了一个json
字符串又不知道对不对, 可以用校验工具进行校验,比如:点击这里,然后把自己拼接的json
字符串贴上去,就可以校验正确与否了。
GSON 解析 JSON 数据
A Java serialization/deserialization library to convert Java Objects into JSON and back
用于将 Java 对象转换为 JSON 并返回的 Java 序列化/反序列化库
GitHub 地址:传送门
1. 在 build.gradle
中配置如下依赖:
dependencies
implementation 'com.google.code.gson:gson:2.9.0'
2. 准备需要解析的 JSON 数据:
[
"id":"1","version":"1.5","name":"Apple",
"id":"2","version":"1.6","name":"WillFlow",
"id":"3","version":"1.7","name":"WGH"
]
3. 新建一个 Bean 类,用于数据规范的定义
public class AppBean
/**
* id : 1
* version : 1.5
* name : Apple
*/
private String id;
private String version;
private String name;
public String getId()
return id;
public void setId(String id)
this.id = id;
public String getVersion()
return version;
public void setVersion(String version)
this.version = version;
public String getName()
return name;
public void setName(String name)
this.name = name;
4. 在 MainActivity.java 中定义这样的方法
private void parseByGSON(String jsonData)
Gson gson = new Gson();
List<AppBean> appList = gson.fromJson(jsonData, new TypeToken<List<AppBean>>() .getType());
for (AppBean app : appList)
Log.i(TAG, "id : " + app.getId());
Log.i(TAG, "name : " + app.getName());
Log.i(TAG, "version : " + app.getVersion());
Log.i(TAG, "————————————————————");
以上是关于第三方开源库--> GSON 解析 JSON 数据的主要内容,如果未能解决你的问题,请参考以下文章
一起Talk Android吧(第三百五十七回:Gson库解析JSON数据总结)
一起Talk Android吧(第三百五十二回:Gson库解析JSON对象)
一起Talk Android吧(第三百五十三回:Gson库解析JSON数组一)