在 Java 中使用 javax.json API 漂亮地打印 JSON?\
javajsonobject oriented programmingprogramming更新于 2025/7/22 21:32:17
javax.json 包提供了一个 Object Model API 来处理 JSON。对象模型 API 是一个高级 API,它为 JSON 对象和数组结构提供不可变的对象模型。这些 JSON 结构可以使用 JsonObject 和 JsonArray 接口表示为对象模型。我们可以使用 JsonGenerator 接口以流式方式将 JSON 数据写入输出。JsonGenerator.PRETTY_PRINTING 是一个配置属性,用于漂亮地生成 JSON。
我们可以在下面的示例中实现漂亮的打印 JSON。
示例
import java.io.*;
import java.util.*;
import javax.json.*;
import javax.json.stream.*;
public class JSONPrettyPrintTest {
public static void main(String args[]) {
String jsonString = "{\"name\":\"Raja Ramesh\",\"age\":\"35\",\"salary\":\"40000\"}";
StringWriter sw = new StringWriter();
try {
JsonReader jsonReader = Json.createReader(new StringReader(jsonString));
JsonObject jsonObj = jsonReader.readObject();
Map<String, Object> map = new HashMap<>();
map.put(JsonGenerator.PRETTY_PRINTING, true);
JsonWriterFactory writerFactory = Json.createWriterFactory(map);
JsonWriter jsonWriter = writerFactory.createWriter(sw);
jsonWriter.writeObject(jsonObj);
jsonWriter.close();
} catch(Exception e) {
e.printStackTrace();
}
String prettyPrint = sw.toString();
System.out.println(prettyPrint); // pretty print JSON
}
}
输出
{
"name": "Raja Ramesh",
"age": "35",
"salary": "40000"
}
相关文章
有用资源
java 参考教程 - 该教程包含有关 java 的更多信息:https://www.cainiaomax.com/java/
打印
下一节:如何在 Java 中使用 JsonObjectBuilder 和 JsonArrayBuilder 创建 JSON? ❯❮ 上一节:如何使用 Java 中的 Streaming API 解析 JSON 字符串?

