Java解析Json文件之JsonReader

文章目录

  • 1 前言
  • 2 使用
    • 2.1 maven依赖
    • 2.2 常用方法
    • 2.3 简单使用
      • 2.3.1 数据
      • 2.3.2 读取键值对
      • 2.3.3 运行结果

1 前言

有时我们需要将一个Json文件中的数据存储在数据库中,如果不嫌麻烦,可以手动复制内容到数据库中,但是程序员都是懒的,至少我是。因此我们可以使用JsonReader来解析Json文件。

2 使用

2.1 maven依赖

<dependency>
    <groupId>com.google.code.gsongroupId>
    <artifactId>gsonartifactId>
    <version>2.8.6version>
dependency>

2.2 常用方法

方法名 返回值 描述
beginArray() void 开始解析数组
endArray() void 结束解析数组
beginObject() void 开始解析对象
endObject() void 结束解析对象
hasNext() Boolean 如果当前数组或对象有其他元素,则返回true
nextName() String 返回key
nextString() String 返回String类型的value
peek() JsonToken 返回value的类型
skipValue() void 跳过下一个value

2.3 简单使用

2.3.1 数据

{
  "code": 200,
  "message": "成功",
  "data": [
    "数据1",
    "数据2"
  ]
}

2.3.2 读取键值对

package org.example;

import com.google.gson.stream.JsonReader;
import com.google.gson.stream.JsonToken;

import java.io.FileReader;

public class Demo {
	public static void main(String[] args) throws Exception {
		JsonReader re = new JsonReader(new FileReader(filePath));

		re.beginObject();

		while (re.hasNext()) {
			System.out.print(re.nextName() + ": ");
			if (re.peek() == JsonToken.BEGIN_ARRAY) {
				re.beginArray();
				while (re.hasNext()) {
					System.out.print(re.nextString() + " ");
				}
				System.out.println();
				re.endArray();
			} else {
				System.out.println(re.nextString());
			}
		}

		re.endObject();
	}
}

2.3.3 运行结果

Java解析Json文件之JsonReader_第1张图片

你可能感兴趣的:(java,json)