java - 编写器无法使用 Gson 处理 json 文件,代码执行后 json 文件为空

标签 java json gson filewriter writer

我正在尝试将 json 数据写入 json 文件。

代码执行后不会抛出任何错误,但 .json 文件为空。

请找到下面的代码和帮助

import java.io.BufferedWriter;
import java.io.FileWriter;
import java.io.IOException;
import java.io.Writer;
import java.util.ArrayList;
import java.util.List;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;

public class Test {
    public static void main(String[] args) throws JSONException {
        try {
            List<String> foo = new ArrayList<String>();
            foo.add("1");
            foo.add("2");
            foo.add("3");
            System.out.println("values :: "+foo);

            Writer writer = new FileWriter("operatorList.json");
            Gson gson = new GsonBuilder().create();
            gson.toJson(foo, writer);
        }
        catch(Exception e) {
            e.printStackTrace();            
        }
    }   
}

最佳答案

你的方法是正确的,只需flush()和close()作者,就像这样:

import java.io.BufferedWriter;

import java.io.FileWriter;

import java.io.IOException;

import java.io.Writer;

import java.util.ArrayList;

import java.util.List;

import com.google.gson.Gson;

import com.google.gson.GsonBuilder;

import com.google.gson.JsonObject;

public class Test {

public static void main(String[] args) throws JSONException {    
    try{
        List<String> foo = new ArrayList<String>();
        foo.add("1");
        foo.add("2");
        foo.add("3");
        System.out.println("values :: "+foo);
        Writer writer = new FileWriter("operatorList.json");
        Gson gson = new GsonBuilder().create();
        gson.toJson(foo, writer);
        writer.flush(); //flush data to file   <---
        writer.close(); //close write          <---
    }catch(Exception e){
        e.printStackTrace();
    }    
}

关于java - 编写器无法使用 Gson 处理 json 文件,代码执行后 json 文件为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45995067/

相关文章:

java - 为什么 Gson fromJson 抛出 JsonSyntaxException : Expected BEGIN_OBJECT but was BEGIN_ARRAY?

java - 使用 GSON 在字符串和 byte[] 之间转换 JSON

java - 从 Gluon Charm Down 读取屏幕方向的空指针

java - 从 Java 中的缓冲区进行高效的模式搜索?

javascript - 如何使用jQuery获取Json数据到html

javascript - 如何从多行选择下拉框中自动填充输入文本?

javascript - 将 JSON 对象中的字符串键转换为子对象?

java - 如何从 native 代码/在 dll 中嵌入 jar 调用 java 方法

java - Spring Data JPA 通过查询从实体获取投影

java - 不正确的 gson 代码 : Expected BEGIN_OBJECT but was STRING