<?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: tWriteJSONFields with multiple repeating elements in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/tWriteJSONFields-with-multiple-repeating-elements/m-p/2363967#M127775</link>
    <description>Hi,&lt;BR /&gt;Have you tried to use component&amp;nbsp;&lt;A href="https://help.talend.com/search/all?query=tXMLMap" target="_blank" rel="nofollow noopener noreferrer"&gt;TalendHelpCenter:tXMLMap&lt;/A&gt;&amp;nbsp;to see if it works?&lt;BR /&gt;Best regards&lt;BR /&gt;Sabrina</description>
    <pubDate>Mon, 25 Apr 2016 09:53:53 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2016-04-25T09:53:53Z</dc:date>
    <item>
      <title>tWriteJSONFields with multiple repeating elements</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tWriteJSONFields-with-multiple-repeating-elements/m-p/2363966#M127774</link>
      <description>&lt;P&gt;Hi all, I write to asky you for some hint on how to create a JSON document &lt;STRONG&gt;using the tWriteJSONField component&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;The JSON document has the following structure:&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp; "doc_key": "d_10000001_02/2016",&lt;BR /&gt;&amp;nbsp; "doc_type": "monthly_detail",&lt;BR /&gt;&amp;nbsp; "account_no": "10000001",&lt;BR /&gt;&amp;nbsp; "month": "02/2016",&lt;BR /&gt;&amp;nbsp; "bill_details": [&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "created_date": "01/02/2016",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; "amount": 46.9,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "is_recurring": "Y",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "start_date": "01/02/2016",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "end_date": "01/03/2016"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "created_date": "04/02/2016",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "amount": 10,&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "is_recurring": "Y",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "start_date": "04/02/2016",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "end_date": "04/03/2016"&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; ],&lt;BR /&gt;&amp;nbsp; "payments": [&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "payment_date": "02/02/2016",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "payment_type": "Credit Card",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "amount": -110.53&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; },&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "payment_date": "03/02/2016",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "payment_type": "Credit Card",&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; "amount": 50.50&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;BR /&gt;&amp;nbsp; ]&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;As you can see it has a "header" with no repeatable elements and two repeating "arrays".&lt;BR /&gt;All these fields are stored in a database and they are getted with different queries.&lt;BR /&gt;Currently I reached the goal to create the JSON document using custom Java classes that model the JSON, populating an object with the elements extracted by queries and then "marshalling" the object using Google's Gson classes.&lt;BR /&gt;&lt;BR /&gt;Below a screenshot of the job I've created.&lt;BR /&gt;&lt;A href="https://community.talend.com/legacyfs/online/371443/blob.png" target="_blank" rel="noopener"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009MHFo.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/134542iFF4CDDFE9AEB5BBF/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009MHFo.png" alt="0683p000009MHFo.png" /&gt;&lt;/span&gt;&amp;nbsp;&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;It properly works but I would like to use the Talend's native components instead of Java custom code in order to obtain this JSON object. In addition, for future improvements, the tWriteJSONField should refer to JSON metadata that would permit "simple" updates (not manually updating the XML tree of the component).&lt;BR /&gt;&lt;BR /&gt;I've tried to do it but the multiple repeating structure of the JSON seems to don't allow this kind of solution.&lt;BR /&gt;Have you any hint?&lt;BR /&gt;&lt;BR /&gt;Thank you in advance&lt;/P&gt;</description>
      <pubDate>Thu, 21 Apr 2016 17:08:48 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tWriteJSONFields-with-multiple-repeating-elements/m-p/2363966#M127774</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-04-21T17:08:48Z</dc:date>
    </item>
    <item>
      <title>Re: tWriteJSONFields with multiple repeating elements</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tWriteJSONFields-with-multiple-repeating-elements/m-p/2363967#M127775</link>
      <description>Hi,&lt;BR /&gt;Have you tried to use component&amp;nbsp;&lt;A href="https://help.talend.com/search/all?query=tXMLMap" target="_blank" rel="nofollow noopener noreferrer"&gt;TalendHelpCenter:tXMLMap&lt;/A&gt;&amp;nbsp;to see if it works?&lt;BR /&gt;Best regards&lt;BR /&gt;Sabrina</description>
      <pubDate>Mon, 25 Apr 2016 09:53:53 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tWriteJSONFields-with-multiple-repeating-elements/m-p/2363967#M127775</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2016-04-25T09:53:53Z</dc:date>
    </item>
  </channel>
</rss>

