Thanks Daniel, John,
As the app makes high usage of dynamic JCR Node features (based on
nt:unstructured, mixins, etc), a relatively static sling model class
seems a bit unpractical, though a typesafe contract would be desirable,
of course.
On the other hand, the JsonItemWriter would almost be ideal but is not
present in Sling 11 anymore. Actually, the entire commons.json package
disappeared. Seemingly, this package has been replaced by Apache Johnzon
but I cannot find anything equivalent to JsonItemWriter.
Anybody aware of its substitute?
Thanks,
Juerg
On 11.05.20 16:39, John Kramer wrote:
You could also use a JsonItemWriter and write your own servlet if you want to
do it that way:
https://sling.apache.org/apidocs/sling8/org/apache/sling/commons/json/jcr/JsonItemWriter.html
John Kramer
Manager, AEM Engineer
E-Commerce Web Team
e: john.kra...@panerabread.com <mailto:john.kra...@panera.com>
m: 314-435-2370
On 5/11/20, 08:54, "Daniel Klco" <dk...@apache.org> wrote:
Warning: This email originated from outside of Panera. Beware of clicking
links and attachments.
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
>
>