在 Java 中使用 javax.json API 漂亮地打印 JSON?\
javajsonobject oriented programmingprogramming
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" }