hey, sorry, super late to the party here but this can be solved with
sling models:
sling models have a @JsonAnyGetter method - for a reference, see the
implementation of this in the peregrine-cms land:
https://github.com/headwirecom/peregrine-cms/blob/develop/platform/base/core/src/main/java/com/peregrine/nodetypes/models/NtUnstructuredModel.java
https://github.com/headwirecom/peregrine-cms/blob/develop/platform/base/core/src/main/java/com/peregrine/nodetypes/models/Container.java
Ruben
On 5/11/2020 6:54 AM, Daniel Klco wrote:
Sounds like a use case for Sling Models Exporter:
https://sling.apache.org/documentation/bundles/models.html#exporter-framework-since-130-1
https://blogs.perficient.com/2018/07/26/no-servlets-required-exporting-data-with-sling-models/
The only caveat is that it's designed for named parameters, if you really
need it to be completely configurable at runtime, I'd suggest creating a
servlet attached to a resource type that filters the current resources
value map and uses Jackson to convert it to a JSON.
On Mon, May 11, 2020 at 4:31 AM JCR <j...@proxymit.net> wrote:
Before I write anything on my own...
Hello
There is this convenient .json extension which produces a JSON
serialization of any given resource in Sling.
What would be a "best practice" if I only wanted a subset of all
properties to be serialized on the json stream? That is, I would like to
provide a "positive" list (lists all props to be exported) or a
"negative" one (props to be excluded).
Example: I have props a, b and c on a given node/resource and only a and
c should appear on the output.
Thanks for any pattern hint
Juerg