4 回答
TA贡献1799条经验 获得超8个赞
Jackson是使用 Java 读写 JSON 的事实上的标准库。它还可以用于读/写 XML、YAML 和其他格式。
网上有很多关于如何使用Jackson的教程,比如http://www.studytrails.com/java/json/jackson-create-json/
一般用法:
创建/配置一个
ObjectMapper
创建您的数据 bean,并可选择使用 Jackson 注释对它们进行注释以微调序列化
使用对象映射器序列化/反序列化您的 bean。
复杂的示例还展示了如何从/到其他格式序列化,以及如何使用自定义序列化: https://github.com/pwalser75/json-xml-yaml-test
TA贡献1719条经验 获得超6个赞
您可以查看Java – 写入文件和如何使用 Java 创建文件并写入文件?
使用 POJO:
public class Data {
private final String name;
private final String id;
public Data(final String name, final String id) {
this.name = name;
this.id = id;
}
public String getName() {
return name;
}
public String getId() {
return id;
}
}
此代码使用 Jackson 和ObjectMapper:
ObjectMapper objectMapper = new ObjectMapper();
Data data = new Data("abc", "123");
String jsonData = objectMapper.writeValueAsString(data);
Path path = Paths.get("myFile");
Files.write(path, jsonData.getBytes(StandardCharsets.UTF_8));
TA贡献1820条经验 获得超2个赞
TA贡献1895条经验 获得超3个赞
这是一个 file1.txt 内容:
{
"Name": "crunchify.com",
"Author": "App Shah",
"Company List": [
"Compnay: eBay",
"Compnay: Paypal",
"Compnay: Google"
]
}
Java代码:
package com.crunchify.tutorials;
import java.io.FileWriter;
import java.io.IOException;
import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
public class CrunchifyJSONFileWrite {
@SuppressWarnings("unchecked")
public static void main(String[] args) throws IOException {
JSONObject obj = new JSONObject();
obj.put("Name", "crunchify.com");
obj.put("Author", "App Shah");
JSONArray company = new JSONArray();
company.add("Compnay: eBay");
company.add("Compnay: Paypal");
company.add("Compnay: Google");
obj.put("Company List", company);
// try-with-resources statement based on post comment below :)
try (FileWriter file = new FileWriter("/Users/<username>/Documents/file1.txt")) {
file.write(obj.toJSONString());
System.out.println("Successfully Copied JSON Object to File...");
System.out.println("\nJSON Object: " + obj);
}
}
}
添加回答
举报