1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package io.wcm.maven.plugins.i18n;
21
22 import java.io.IOException;
23 import java.io.StringReader;
24 import java.io.StringWriter;
25 import java.util.Map;
26
27 import jakarta.json.Json;
28 import jakarta.json.JsonObject;
29 import jakarta.json.JsonReader;
30 import jakarta.json.JsonReaderFactory;
31 import jakarta.json.JsonWriter;
32 import jakarta.json.JsonWriterFactory;
33 import jakarta.json.stream.JsonGenerator;
34 import jakarta.json.stream.JsonParsingException;
35
36
37
38
39 public final class JsonUtil {
40
41 private static final JsonWriterFactory JSON_WRITER_FACTORY = Json.createWriterFactory(Map.of(
42 JsonGenerator.PRETTY_PRINTING, true));
43
44 private static final JsonReaderFactory JSON_READER_FACTORY = Json.createReaderFactory(Map.of(
45 "org.apache.johnzon.supports-comments", true));
46
47 private JsonUtil() {
48
49 }
50
51
52
53
54
55
56 public static String toString(JsonObject jsonObject) {
57 StringWriter writer = new StringWriter();
58 try (JsonWriter jsonWriter = JSON_WRITER_FACTORY.createWriter(writer)) {
59 jsonWriter.write(jsonObject);
60 return writer.toString();
61 }
62 }
63
64
65
66
67
68
69
70 public static JsonObject fromString(String jsonString) throws IOException {
71 StringReader reader = new StringReader(jsonString);
72 try (JsonReader jsonReader = JSON_READER_FACTORY.createReader(reader)) {
73 return jsonReader.readObject();
74 }
75 catch (JsonParsingException ex) {
76 throw new IOException(ex.getMessage(), ex);
77 }
78 }
79
80 }