SLING-8632 : Add a method to get a JSON object from an extension
diff --git a/src/main/java/org/apache/sling/feature/io/json/JSONReaderBase.java b/src/main/java/org/apache/sling/feature/io/json/JSONReaderBase.java
index 1d113e3..c1be04e 100644
--- a/src/main/java/org/apache/sling/feature/io/json/JSONReaderBase.java
+++ b/src/main/java/org/apache/sling/feature/io/json/JSONReaderBase.java
@@ -38,7 +38,6 @@
 import javax.json.JsonObject;
 import javax.json.JsonObjectBuilder;
 import javax.json.JsonStructure;
-import javax.json.JsonWriter;
 
 import org.apache.felix.configurator.impl.json.JSMin;
 import org.apache.felix.configurator.impl.json.JSONUtil;
@@ -397,12 +396,7 @@
                                  break;
                 case JSON : checkType("JSON Extension " + name, value, Map.class, List.class);
                             final JsonStructure struct = build(value);
-                            try ( final StringWriter w = new StringWriter()) {
-                                final JsonWriter jw = Json.createWriter(w);
-                                jw.write(struct);
-                                w.flush();
-                                ext.setJSON(w.toString());
-                            }
+                            ext.setJSONStructure(struct);
                             break;
                 case TEXT : checkType("Text Extension " + name, value, String.class, List.class);
                             if ( value instanceof String ) {
diff --git a/src/main/java/org/apache/sling/feature/io/json/JSONWriterBase.java b/src/main/java/org/apache/sling/feature/io/json/JSONWriterBase.java
index c41ddff..66b6ed2 100644
--- a/src/main/java/org/apache/sling/feature/io/json/JSONWriterBase.java
+++ b/src/main/java/org/apache/sling/feature/io/json/JSONWriterBase.java
@@ -16,7 +16,6 @@
  */
 package org.apache.sling.feature.io.json;
 
-import java.io.StringReader;
 import java.io.Writer;
 import java.lang.reflect.Array;
 import java.util.Collection;
@@ -26,7 +25,6 @@
 import java.util.Map;
 
 import javax.json.Json;
-import javax.json.JsonStructure;
 import javax.json.stream.JsonGenerator;
 import javax.json.stream.JsonGeneratorFactory;
 
@@ -225,11 +223,7 @@
             }
             final String key = ext.getName().concat(":").concat(ext.getType().name()).concat("|").concat(state);
             if ( ext.getType() == ExtensionType.JSON ) {
-                final JsonStructure struct;
-                try ( final StringReader reader = new StringReader(ext.getJSON()) ) {
-                    struct = Json.createReader(reader).read();
-                }
-                generator.write(key, struct);
+                generator.write(key, ext.getJSONStructure());
             } else if ( ext.getType() == ExtensionType.TEXT ) {
                 generator.writeStartArray(key);
                 for(String line : ext.getText().split("\n")) {