May 3, 2020
Estimated Post Reading Time ~

AEM Node to JSON Converter Logic Ignoring Unnecessary Properties

            final Node node = resource.adaptTo(Node.class);
            /* Node properties to exclude from the JSON object. */
            @SuppressWarnings("serial")
            final Set<String> propertiesToIgnore = new HashSet<String>() {{
                add("jcr:created");
                add("jcr:createdBy");
                add("jcr:lastModified");
                add("jcr:lastModifiedBy");
                add("jcr:versionHistory");
                add("jcr:predecessors");
                add("jcr:baseVersion");
                add("jcr:uuid");
                add("sling:resourceType");
                add("jcr:primaryType");
            }};
           
            StringWriter stringWriter = new StringWriter();
            JsonItemWriter jsonWriter = new JsonItemWriter(propertiesToIgnore);
            JSONObject jsonObject = null;

            try {
                jsonWriter.dump(node, stringWriter, 0);
                jsonObject = new JSONObject(stringWriter.toString());
                return jsonObject;
            } catch (RepositoryException e) {
                LOG.info("Repository exception :: {} ", e);
            } catch (JSONException e) {
                LOG.info("JSON exception :: {} ", e);
                e.printStackTrace();
            } catch (Exception e) {
                LOG.info("Exception :: {} ", e);
            }


By aem4beginner

No comments:

Post a Comment

If you have any doubts or questions, please let us know.