第三方开源库--> GSON 解析 JSON 数据

Posted Kevin_小飞象

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第三方开源库--> GSON 解析 JSON 数据相关的知识,希望对你有一定的参考价值。

JSON 数据

XMLJSON 的区别:

  • JSONXML的数据可读性基本相同
  • JSONXML 同样拥有丰富的解析手段
  • JSON 相对于 XML 来讲,数据的体积小
  • JSONjavascript 的交互更加方便
  • JSON 对数据的描述性比 XML 较差
  • JSON的速度要远远快于 XML

1. JSON 的格式规范
语法规则如下:

  • 数据在“名称/值”对中;
  • 数据由逗号分隔;
  • 花括号保存对象;
  • 方括号保存数组;

2. JSON 数据的书写格式范例

[
     "id":"1","name":"WGH","age":"18" ,
     "id":"2","name":"WillFlow","age":"16"  
]
  1. 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对象)

Android入门(二十二)解析JSON

一起Talk Android吧(第三百五十三回:Gson库解析JSON数组一)

一起Talk Android吧(第三百五十六回:Gson库解析JSON数组四)

一起Talk Android吧(第三百五十八回:Gson库解析Java对象)