Home  >  Article  >  Java  >  How to pretty print JSON using javax.json API in Java?

How to pretty print JSON using javax.json API in Java?

王林
王林forward
2023-08-19 10:57:221132browse

如何使用Java中的javax.json API对JSON进行漂亮的打印?

javax.json package provides an object model API to process JSON. The Object Model API is a high-level API that provides an immutable object model for JSON objects and array structures. These JSON structures can be represented as object models using the JsonObject and JsonArray interfaces. We can use the JsonGenerator interface to write JSON data to the output in a streaming manner. JsonGenerator.PRETTY_PRINTING is a configuration property used to generate beautiful JSON.

We can achieve pretty printing JSON in the example below.

Example

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
   }
}

Output

{
   "name": "Raja Ramesh",
 "age": "35",
  "salary": "40000"
}

The above is the detailed content of How to pretty print JSON using javax.json API in Java?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:tutorialspoint.com. If there is any infringement, please contact admin@php.cn delete