<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Return servlet response as json data. in Adobe Experience Manager Questions</title>
    <link>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/540976#M134327</link>
    <description>&lt;P&gt;Hi&amp;nbsp;&lt;LI-USER uid="17542168"&gt;&lt;/LI-USER&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can do it by jackson or Gson parsing. You will get many examples over internet about the process.&lt;/P&gt;</description>
    <pubDate>Tue, 16 Aug 2022 03:45:15 GMT</pubDate>
    <dc:creator>tb1687196</dc:creator>
    <dc:date>2022-08-16T03:45:15Z</dc:date>
    <item>
      <title>Return servlet response as json data.</title>
      <link>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/540952#M134323</link>
      <description>&lt;P&gt;I'm working on servlet registered on path &amp;amp; wanted to return its content in json data.&lt;BR /&gt;Currently, my servlet is fetching data from&amp;nbsp;&lt;/P&gt;
&lt;DIV&gt;&lt;SPAN&gt;&lt;SPAN&gt;"/content/myproject/language-masters/en/jcr:content/root/container/container/componentname". Here values in component are injected via model &amp;amp; same used for servlet. I'm referring this &lt;A title="aem.redquark.org day-10-getting-to-know-sling-models" href="https://aem.redquark.org/2018/10/day-10-getting-to-know-sling-models.html" target="_blank" rel="noopener"&gt;blog&lt;/A&gt;. This is my code:&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;LI-CODE lang="java"&gt;&lt;LI-USER uid="9944223" login="Override"&gt;&lt;/LI-USER&gt;
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) {
try {
ResourceResolver resourceResolver = request.getResourceResolver();

Resource resource = resourceResolver.getResource("/content/myproject/language-masters/en/jcr:content/root/container/container/mycomponent");

ProductDetails model = resource.adaptTo(ProductDetails.class);

response.getWriter().print("Product Specs are =&amp;gt;\n\nProduct Name: " + model.getName() + "\nPhone Ram: " + model.getRam() + "\nLaptop OS: " + model.getOs() + "\nTV Screensize: "+ model.getSize() + "\nWatch Dial Shape: " + model.getShape() + "\nProduct Prices: "+ model.getPrice());

resourceResolver.close();
} catch
&lt;/LI-CODE&gt;
&lt;P&gt;and its working good, displaying text.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;But for current requirement, I want to return this as json data(need necessary not to be in key:value pair, just json data anyway) in response. So, please tell me how can I do this?&lt;/P&gt;
&lt;/DIV&gt;</description>
      <pubDate>Mon, 15 Aug 2022 20:49:27 GMT</pubDate>
      <guid>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/540952#M134323</guid>
      <dc:creator>sesmic</dc:creator>
      <dc:date>2022-08-15T20:49:27Z</dc:date>
    </item>
    <item>
      <title>Re: Return servlet response as json data.</title>
      <link>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/540976#M134327</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;LI-USER uid="17542168"&gt;&lt;/LI-USER&gt;&amp;nbsp;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;You can do it by jackson or Gson parsing. You will get many examples over internet about the process.&lt;/P&gt;</description>
      <pubDate>Tue, 16 Aug 2022 03:45:15 GMT</pubDate>
      <guid>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/540976#M134327</guid>
      <dc:creator>tb1687196</dc:creator>
      <dc:date>2022-08-16T03:45:15Z</dc:date>
    </item>
    <item>
      <title>Re: Return servlet response as json data.</title>
      <link>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/540979#M134329</link>
      <description>&lt;P&gt;Check this sample code [1]&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;[1]&amp;nbsp;&lt;A href="https://gist.github.com/nateyolles/d4ca683078efd60aa8ac" target="_blank"&gt;https://gist.github.com/nateyolles/d4ca683078efd60aa8ac&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Aug 2022 04:09:33 GMT</pubDate>
      <guid>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/540979#M134329</guid>
      <dc:creator>Mohit_KBansal</dc:creator>
      <dc:date>2022-08-16T04:09:33Z</dc:date>
    </item>
    <item>
      <title>Re: Return servlet response as json data.</title>
      <link>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/540984#M134330</link>
      <description>&lt;P&gt;Thanks for the reply.&lt;BR /&gt;I can't understand about how can I adapt it to my code.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Aug 2022 04:53:39 GMT</pubDate>
      <guid>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/540984#M134330</guid>
      <dc:creator>sesmic</dc:creator>
      <dc:date>2022-08-16T04:53:39Z</dc:date>
    </item>
    <item>
      <title>Re: Return servlet response as json data.</title>
      <link>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/540985#M134331</link>
      <description>&lt;P&gt;Thanks for replying. Sorry, but I don't know how to use them. Can you give some hint please?&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Aug 2022 04:56:30 GMT</pubDate>
      <guid>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/540985#M134331</guid>
      <dc:creator>sesmic</dc:creator>
      <dc:date>2022-08-16T04:56:30Z</dc:date>
    </item>
    <item>
      <title>Re: Return servlet response as json data.</title>
      <link>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/540991#M134332</link>
      <description>&lt;P&gt;&lt;LI-USER uid="17542168"&gt;&lt;/LI-USER&gt;&amp;nbsp;Here is another simple example which you can follow [1], this example uses gson.&lt;/P&gt;
&lt;PRE&gt;public class EmployeeServlet extends HttpServlet {

    private Gson gson = new Gson();

    @Override
    protected void doGet(
      HttpServletRequest request, 
      HttpServletResponse response) throws IOException {
        Employee employee = new Employee(1, "Emp name", "IT", 5000);
        String employeeJsonString = this.gson.toJson(employee);

        PrintWriter out = response.getWriter();
        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        out.print(employeeJsonString);
        out.flush();   
    }
}&lt;/PRE&gt;
&lt;P&gt;[1]&amp;nbsp;&lt;A href="https://www.baeldung.com/servlet-json-response" target="_blank"&gt;https://www.baeldung.com/servlet-json-response&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Aug 2022 05:32:32 GMT</pubDate>
      <guid>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/540991#M134332</guid>
      <dc:creator>Mohit_KBansal</dc:creator>
      <dc:date>2022-08-16T05:32:32Z</dc:date>
    </item>
    <item>
      <title>Re: Return servlet response as json data.</title>
      <link>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/541002#M134335</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;
&lt;P&gt;You can do json export from model or via public method expose json from model and access in servlet&lt;/P&gt;
&lt;P&gt;&lt;A href="https://experienceleague.adobe.com/docs/experience-manager-64/developing/components/json-exporter-components.html?lang=en" target="_blank"&gt;https://experienceleague.adobe.com/docs/experience-manager-64/developing/components/json-exporter-components.html?lang=en&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Aug 2022 07:14:25 GMT</pubDate>
      <guid>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/541002#M134335</guid>
      <dc:creator>arunpatidar</dc:creator>
      <dc:date>2022-08-16T07:14:25Z</dc:date>
    </item>
    <item>
      <title>Re: Return servlet response as json data.</title>
      <link>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/541005#M134338</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;LI-USER uid="17542168"&gt;&lt;/LI-USER&gt;,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;As suggested by&amp;nbsp;&lt;LI-USER uid="17518938"&gt;&lt;/LI-USER&gt;, you can get your data in JSON, but are you using servlet just for that?&lt;BR /&gt;I would recommend using Sling Exporters to have your data in an easier way.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;check this:&amp;nbsp;&lt;A href="https://experienceleague.adobe.com/docs/experience-manager-learn/foundation/development/develop-sling-model-exporter.html?lang=en" target="_blank" rel="noopener"&gt;https://experienceleague.adobe.com/docs/experience-manager-learn/foundation/development/develop-sling-model-exporter.html?lang=en&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Thanks,&lt;/P&gt;
&lt;P&gt;Sravan&lt;/P&gt;</description>
      <pubDate>Tue, 16 Aug 2022 07:20:39 GMT</pubDate>
      <guid>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/541005#M134338</guid>
      <dc:creator>B_Sravan</dc:creator>
      <dc:date>2022-08-16T07:20:39Z</dc:date>
    </item>
    <item>
      <title>Re: Return servlet response as json data.</title>
      <link>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/541016#M134343</link>
      <description>&lt;P&gt;Thanks all! I&amp;nbsp;&lt;SPAN&gt;imported&lt;/SPAN&gt; &lt;SPAN&gt;com&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;google&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;gson&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;Gson and added values to json (&lt;/SPAN&gt;&lt;SPAN&gt;String&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;my&lt;/SPAN&gt;&lt;SPAN&gt;JsonString&lt;/SPAN&gt;&lt;SPAN&gt; = &lt;/SPAN&gt;&lt;SPAN&gt;this&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;gson&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;SPAN&gt;toJson&lt;/SPAN&gt;&lt;SPAN&gt;(&lt;/SPAN&gt;&lt;SPAN&gt;model&lt;/SPAN&gt;&lt;SPAN&gt;);) then&lt;/SPAN&gt;&lt;SPAN&gt;&amp;nbsp;object out.print(myJsonString).&lt;/SPAN&gt;&lt;/P&gt;
&lt;DIV&gt;
&lt;DIV&gt;&amp;nbsp;&lt;/DIV&gt;
&lt;/DIV&gt;</description>
      <pubDate>Tue, 16 Aug 2022 08:58:43 GMT</pubDate>
      <guid>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/541016#M134343</guid>
      <dc:creator>sesmic</dc:creator>
      <dc:date>2022-08-16T08:58:43Z</dc:date>
    </item>
    <item>
      <title>Re: Return servlet response as json data.</title>
      <link>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/541023#M134345</link>
      <description>&lt;P&gt;You can use google.gson api to pass json in response. try this.&lt;/P&gt;
&lt;PRE&gt;@Override
protected void doGet(SlingHttpServletRequest request, SlingHttpServletResponse response) {

ResourceResolver resourceResolver = request.getResourceResolver();

Resource resource = resourceResolver.getResource("/content/myproject/language-masters/en/jcr:content/root/container/container/mycomponent");

ProductDetails productDetails = ProductDetails.builder().id("component-id").name("modelname").build();

String jsonString = this.gson.toJson(productDetails);


PrintWriter out = response.getWriter();
        response.setContentType("application/json");
        response.setCharacterEncoding("UTF-8");
        out.print(jsonString);
        out.flush();
}&lt;/PRE&gt;
&lt;PRE&gt;import lombok.Builder;
import lombok.Data;

import java.io.Serializable;

@Builder
@Data
public class ProductDetails implements Serializable {
    private int id;
    private String name;
}&lt;/PRE&gt;
&lt;P&gt;If you don't want to use lombok then use entity class like this&lt;/P&gt;
&lt;PRE&gt;public class ProductDetails {
	private String id;
        private String name;
    //Getters/Setters
    }&lt;/PRE&gt;
&lt;P&gt;and ProductDetails&amp;nbsp;&lt;SPAN class="hljs-variable"&gt;product&lt;/SPAN&gt; &lt;SPAN class="hljs-operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="hljs-keyword"&gt;new&lt;/SPAN&gt; ProductDetails&lt;SPAN&gt;("component-id"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;"model name"&lt;/SPAN&gt;&lt;SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;SPAN class="hljs-type"&gt;String&lt;/SPAN&gt;&amp;nbsp;j&lt;SPAN class="hljs-variable"&gt;sonString&lt;/SPAN&gt; &lt;SPAN class="hljs-operator"&gt;=&lt;/SPAN&gt; &lt;SPAN class="hljs-built_in"&gt;this&lt;/SPAN&gt;.gson.toJson(&lt;SPAN class="hljs-variable"&gt;product&lt;/SPAN&gt;);&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 16 Aug 2022 09:37:12 GMT</pubDate>
      <guid>https://experienceleaguecommunities.adobe.com/t5/adobe-experience-manager/return-servlet-response-as-json-data/m-p/541023#M134345</guid>
      <dc:creator>HeenaMadan</dc:creator>
      <dc:date>2022-08-16T09:37:12Z</dc:date>
    </item>
  </channel>
</rss>

