java - 使用 Collections Google/gson 库更新 JSON 文件
问题描述
我有一个 ObjectA: 的列表List<ObjectA> listA;
。
我正在尝试将所有 listA 打印到 JSON 文件中,然后在执行此操作的函数中使用。
Files.write(Paths.get(filename), Collections.singleton(json.toJson(listA)), StandardCharsets.UTF_8);
这很好用。(只是为了说清楚 - json 的类型是 Gson ( Gson json = new Gson()
)
但是,我试图在关闭 json: 之前在 JSON 文件中添加以下行}
:即我正在尝试添加以下行:"SomeString: " + someIntValue/AtomicInteger value
例如:sum: 8
在 JSON 文件的末尾之前,如前所述}
。
如何在不使用迭代器打印 listA 中的每个对象的情况下做到这一点?有没有可能像我用一条线为 listA 做的那样简单?并以某种方式编辑它,例如在打开之前添加 listA[
解决方案
最简单的方法是将您的 List 包装在一个对象中,让 gson 完成艰苦的工作。
class ListAWithStatistics {
List<ObjectA> listA;
int someString;
}
这个包装类还可以帮助您轻松反序列化生成的 json。
推荐阅读
- go - 使用自签名客户端证书进行 grpc tls 相互身份验证错误证书
- java - 在android studio上反序列化xml文件
- html - 打开检查器时删除源代码
- javascript - 递归算法的空间复杂度是否必须至少与递归调用的深度一样大?
- r - 尝试使用 forl oop 编写多张工作表时,R xlsx 包中的 createSheet 错误
- cocoa - NSWindowController 是否支持 encodeRestorableState()?
- python - 桌面上的屏幕正常运行时间
- qt - Qtools 和 qwt 曲线图:如何添加点?
- python - 使用 pywrap 遇到问题
- ruby-on-rails - 如果我的 rails 类被保留的公共方法覆盖,我应该担心吗?