我有一种方法,可以使用JsonGenerator将产品对象写入文件。(productToJSON)
我想使用第二种方法,使用JsonGenerator流将HashSet中的所有产品写入JSON文件。我相信打开和关闭流(文件仅包含最后一个产品)存在问题。因此,我可以使用第二种方法打开和关闭流,但是第一种方法不再适用于一种产品。
请告诉我:
是否可以使用2种方法做我想做的事?
有更好的方法吗?
public void productToJSON(Product product, String fileName) throws Exception {
JsonFactory jsonFactory = new JsonFactory();
FileOutputStream file = new FileOutputStream(fileName);
JsonGenerator jsonGen = jsonFactory.createJsonGenerator(file, JsonEncoding.UTF8);
jsonGen.setPrettyPrinter(new DefaultPrettyPrinter());
jsonGen.writeStartObject();
jsonGen.writeStringField("name", product.getName());
jsonGen.writeNumberField("weight", product.getWeight());
jsonGen.writeNumberField("stock", product.getStock());
jsonGen.writeNumberField("price", product.getPrice());
jsonGen.writeNumberField("rating", product.getRating());
jsonGen.writeEndObject();
jsonGen.close();
}
public void productsToJSON(String fileName) throws Exception {
for (Product p : this.products) {
this.productToJSON(p, fileName);
}
}
慕姐8265434
哈士奇WWW
相关分类