JSON解析
JSON
定义
JSON是轻量级的基于JavaScript编程语言,使用键值对封装数据的数据交换格式。
外延
- JSONObject (JSON对象)
- JSONArray (JSON数组)
特点
- 轻量级易传输
- 跨平台支持多种语言
- 采用了压缩技术节省宽带
- 格式简单易读写
JSONObject
定义
JSONObject是以键值对方式存储数据的Json对象。
语法结构

JSONObject使用步骤





JSONArray
定义
JSONArray是多个Json对象组成的Json数组。
语法结构

使用JSONArray




案例:解析JSON数据,显示在Spinner控件中





Gson解析
使用Gson的原因
当数据结构比较复杂时,使用Gson解析可以大大提高解析效率,弥补JSON解析的弊端。
定义
Gson 是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的Java 类库。
安装GsonFormat插件

Gson的常用方法

Gson解析的步骤

使用Gson
依赖
implementation’com.google.code.gson:gson:2.8.0’








Gson解析数组
解析代码如下:
创建对应实体类:
public class Bean {
public String name;
public int age;
public String sex;
public String address;
}
解析代码:
String strJson = "[\n" +
" {\n" +
" \"address\": \"中国\",\n" +
" \"age\": 30,\n" +
" \"name\": \"小明\",\n" +
" \"sex\": \"boy\"\n" +
" },\n" +
" {\n" +
" \"address\": \"加拿大\",\n" +
" \"age\": 20,\n" +
" \"name\": \"小雨\",\n" +
" \"sex\": \"girl\"\n" +
" }\n" +
"]";
Gson gson = new Gson();//创建Gson对象
JsonParser jsonParser = new JsonParser();
JsonArray jsonElements = jsonParser.parse(strJson).getAsJsonArray();//获取JsonArray对象
ArrayList<Bean> beans = new ArrayList<>();
for (JsonElement bean : jsonElements) {
Bean bean1 = gson.fromJson(bean, Bean.class);//解析
beans.add(bean1);
}
System.out.println(beans.size());
System.out.println(beans.get(1).name);
反过来,如何将对象生成json了,代码如下:
Map<String, Object> map = new HashMap<>();
map.put("name", "小明");
map.put("age", 30);
map.put("address", "中国");
map.put("sex", "boy");
List<Map<String, Object>> list = new ArrayList<>();
list.add(map);
String s = new Gson().toJson(list);//生成jsonString
System.out.println(s);
Gson的特点
- 解析效率高
- 代码量少使用简洁
- 解析是面向对象
- 数据传递比较方便
FastJson
FastJson使用简单,解析速度快,性能高,当JSON数据量比较大时,FastJson是理想的解析方式。
定义
FastJSON是阿里巴巴提供的,用Java语言编写的高性能的JSON类库。
使用步骤

使用FastJSON
依赖
implementation’com.alibaba:fastjson:1.2.55’







FastJSON的特点

JSON(JSONObject JSONArray) Gson解析以及FastJSON解析就先到这了
JSON解析与Gson、FastJSON使用详解
本文介绍了JSON的定义、特点以及其组成部分JSONObject和JSONArray。详细讲解了如何使用JSONObject和JSONArray,包括解析JSON数据并显示在Spinner控件中的案例。接着,探讨了Gson解析的优势、安装GsonFormat插件、常用方法和步骤,提到了Gson的高效和面向对象的特点。此外,还介绍了FastJSON,阐述了其高性能和简单使用的特性,以及使用FastJSON的步骤和依赖。
3935

被折叠的 条评论
为什么被折叠?



