Highlighted

Exposing a multifield component as json

vladd57498318

10-10-2019

Hi,

I'm faced with a problem where I need to expose a multifield component as json in a specific way. When accessing the url of the component.model.tidy.json the json I currently get is like this:

Screenshot 2019-10-11 at 00.31.26.png

What I would like to do is to eliminate the "jcr:primaryType":"nt:unstructured" from every property but I found no way to do it without creating my custom exporter.

Here is my java class:

import org.apache.sling.api.resource.Resource;
import org.apache.sling.models.annotations.Exporter;
import org.apache.sling.models.annotations.Model;
import org.apache.sling.models.annotations.Optional;

import javax.inject.Inject;

@Exporter(name = "jackson", extensions = "json")

@Model(adaptables = Resource.class, resourceType = "/apps/wcax-core/components/content/abs-generic-list/v1/abs-generic-list")

public class AbsGenericList {

   @Inject
  @Optional
   private Resource genericlist;

  public Resource getGenericlist() { return this.genericlist; }

}

If anyone has any idea on how to get rid of that property it would be of great help.

Replies