我们如何使用Java中的Gson流API读写文件?

我们可以使用Gson流API 读写文件,该文件基于顺序读写标准。该JsonWriter 和JsonReader 是流的写入和读入内置的核心类流API。 JsonWriter 写入JSON编码值到一个流,一次一个令牌。该流包含文字值(字符串,数字,布尔值和null)以及对象和数组的开始 和结束 定界符 ,并且JsonReader 读取JSON编码的值作为令牌流。此流包含两个文字 值 (string,数字,布尔值和null)以及对象和数组的开始 和结束定界符。令牌被遍历在深度优先奥德R,以相同的顺序它们出现的JSON文档英寸

使用JsonWriter写入文件

示例

import java.io.*;

import com.google.gson.stream.*;

public class JsonWriterTest {

   public static void main(String args[]) {

      JsonWriter writer;

      try {

         writer = new JsonWriter(new FileWriter("input.json"));

         writer.beginObject();

         writer.name("name").value("Adithya");

         writer.name("age").value(25);

         writer.name("technologies");

         writer.beginArray();

         writer.value("Java");

         writer.value("Scala");

         writer.value("Python");

         writer.endArray();

         writer.endObject();

         writer.close();

         System.out.println("Data write to a file successfully");

      } catch(Exception e) {

         e.printStackTrace();

      }

   }

}

输出结果

Data write to a file successfully


使用JsonReader读取文件

示例

import java.io.*;

import com.google.gson.stream.*;

public class JsonReaderTest {

   public static void main(String args[]) {

      JsonReader reader;

      try {

         reader = new JsonReader(new FileReader("input.json"));

         reader.beginObject();

         while(reader.hasNext()) {

            String name = reader.nextName();

            if(name.equals("name")) {

               System.out.println(reader.nextString());

            } else if(name.equals("age")) {

               System.out.println(reader.nextInt());

            } else if(name.equals("technologies")) {

               reader.beginArray();

               while(reader.hasNext()) {

                  System.out.println(reader.nextString());

               }

               reader.endArray();

            } else {

               reader.skipValue();

            }

         }

         reader.endObject();

         reader.close();

      } catch(Exception e) {

         e.printStackTrace();

      }

   }

}

输出结果

Adithya

25

Java

Scala

Python

以上是 我们如何使用Java中的Gson流API读写文件? 的全部内容, 来源链接: utcz.com/z/338388.html

回到顶部