gpt4 book ai didi

java - Gson - 如何使用 JsonWriter?

转载 作者:太空宇宙 更新时间:2023-11-04 10:04:17 25 4
gpt4 key购买 nike

我正在尝试将大对象保存为 JSON。我使用 Gson,但出现与内存(Java 堆空间)相关的异常。我读到我应该使用序列化。但我不知道如何做到最后。我正在尝试创建一个 JsonWriter,但我有一个异常(exception),JsonWriter 是抽象方法,我必须重写方法: writeArray();写对象(); write() 和 close()。我不知道如何覆盖它们。

代码:

private void sendFile(sessContext sc,OutputStream out){
String shipId = sc.getRequest().getParameter("shipid");
Ship ship = m_ship.find(Long.parseLong(shipId));
Gson gson = new GsonBuilder()
.excludeFieldsWithModifiers(Modifier.STATIC, Modifier.TRANSIENT, Modifier.VOLATILE)
.setPrettyPrinting()
.create();

try{
JsonWriter writer = new JsonWriter(new OutputStreamWriter(out, "UTF-8")); //<- error "'JsonWriter' is abstract, cannot be instantiated"
String toJson = gson.toJson(ship); // <- error ("Java heap space")
sendFile(sc,ship);}
catch(Excepiton e){
e.printStackTrace();
}
}

最佳答案

您很可能忘记导入 Gson JsonWriter 类,因此编译器认为您正在尝试使用同名的 JEE 接口(interface)

添加

import com.google.gson.stream.JsonWriter;

并确保您没有导入像 javax.json.*javax.json.JsonWriter

关于java - Gson - 如何使用 JsonWriter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53116544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com