<?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: Help preserving integer value through tWriteJSONField in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/Help-preserving-integer-value-through-tWriteJSONField/m-p/2267791#M46565</link>
    <description>&lt;P&gt;Hi Vlad,&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Thank you for responding. I see what you're saying. I'd incorrectly thought that since an integer in JSON didn't have the same limitation, that I could map it as an integer when mapping the JSON tree in tWriteJSONField.&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;So now I'm doing this:&lt;/P&gt; 
&lt;P&gt;tMap: use Long&lt;/P&gt; 
&lt;P&gt;tWriteJSONField JSON tree: use String or Number&lt;/P&gt; 
&lt;P&gt;tWriteJSONField: use Long&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;The value comes out of tWriteJSONField as&amp;nbsp;1.579825342226000E15, which I thought was a problem. But I found that I could publish that to Kafka, and the Kafka message displays the value as&amp;nbsp;1579825342226000, which is what I need.&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Thank you,&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Dave&lt;/P&gt;</description>
    <pubDate>Wed, 29 Jan 2020 14:59:41 GMT</pubDate>
    <dc:creator>Anonymous</dc:creator>
    <dc:date>2020-01-29T14:59:41Z</dc:date>
    <item>
      <title>Help preserving integer value through tWriteJSONField</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Help-preserving-integer-value-through-tWriteJSONField/m-p/2267789#M46563</link>
      <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Here is my job. It reads from a database, adds several properties, and publishes to Kafka.&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screen Shot 2020-01-23 at 6.38.54 PM.png" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M8rU.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/153261i61351756B9A7E375/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M8rU.png" alt="0683p000009M8rU.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;A requirement is that one of the added properties contains the time in microseconds as an integer. I calculate this as&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;tstamp_usec =&amp;nbsp;System.currentTimeMillis() * 1000 ,&amp;nbsp;and set it as a Long type in tMap.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;tMap Map Editor output&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screen Shot 2020-01-23 at 7.04.31 AM.png" style="width: 776px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M8rZ.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/136440i6D24D32DEEA37352/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M8rZ.png" alt="0683p000009M8rZ.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;This value looks good in the output from tLogRow_2.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;PRE&gt;0001203d-6a6e-46c0-b15f-760c6d5a6340|16-10-2017|0|a9d98a02-1dcd-023d-8973-55e2a3e13f23|edf98d6b-9744-4bdb-8c11-0f9a28bf5ca5|captains-log|bf201ac1-2b45-45b1-a83d-27c83351fad5|a97374c3-be6c-40dd-ae6e-617188de2b07|crm_onetime_load|crm|&lt;STRONG&gt;1579781507837000&lt;/STRONG&gt;|acc_access_types_ith_product_holdings_1_c|id|16-10-2017|23-01-2020|UPDATE&lt;/PRE&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;In&amp;nbsp;tWriteJSONField I start to encounter problems.&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;tWriteJSONField component configuration.&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screen Shot 2020-01-23 at 7.07.24 PM.png" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M8lr.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/129876i7AE8D59C444F9254/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M8lr.png" alt="0683p000009M8lr.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;tWriteJSONField JSON tree, with tstamp_usec set as an integer.&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screen Shot 2020-01-23 at 7.15.31 AM.png" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M8re.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/136462iD2AF98B6E58B8415/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M8re.png" alt="0683p000009M8re.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;tWriteJSONField schema, with tstamp_user set as Long type.&lt;/P&gt; 
&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="Screen Shot 2020-01-23 at 7.08.53 PM.png" style="width: 999px;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0683p000009M8lm.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/144821i6605E9EF03C5D98E/image-size/large?v=v2&amp;amp;px=999" role="button" title="0683p000009M8lm.png" alt="0683p000009M8lm.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;When I run the job, I get the following error in the log&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;PRE&gt;Exception in component tWriteJSONField_1_In (Sugar_Test_v3_to_Kafka)
net.sf.json.JSONException: java.lang.NumberFormatException: For input string: "1579825342226000"
	at net.sf.json.xml.XMLSerializer.read(XMLSerializer.java:386)
	at sugar_one_time_load.sugar_test_v3_to_kafka_0_1.Sugar_Test_v3_to_Kafka.tWriteJSONField_1_InProcess(Sugar_Test_v3_to_Kafka.java:3786)
	at sugar_one_time_load.sugar_test_v3_to_kafka_0_1.Sugar_Test_v3_to_Kafka$1ThreadXMLField_tWriteJSONField_1_Out.run(Sugar_Test_v3_to_Kafka.java:2044)
Caused by: java.lang.NumberFormatException: For input string: "1579825342226000"
	at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)&lt;/PRE&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;So it seems that tstamp_user is being treated as a String !!&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;If I change the type for tstamp_usec in the JSON tree to "number" or "float", the job runs but tstamp_user is formatted with an exponent, which does not meet my requirement that it be formatted as an integer.&amp;nbsp;&lt;/P&gt; 
&lt;PRE&gt;{"eventid":"03a99823-7711-430e-ac31-bbf42047c311","requestid":"514a59d5-e19d-4b01-9d00-0b9f27a3e102","dests":["captains-log"],&lt;STRONG&gt;"tstamp_usec":1.579825639825E15&lt;/STRONG&gt;,"origin":"crm","eventtype":"crm_onetime_load","message":{"table":"acc_access_types_ith_product_holdings_1_c","pk":"id","data":{"id":"0001203d-6a6e-46c0-b15f-760c6d5a6340","date_modified":"16-10-2017","deleted":"0","acc_access_types_ith_product_holdings_1acc_access_types_ida":"a9d98a02-1dcd-023d-8973-55e2a3e13f23","acc_access_types_ith_product_holdings_1ith_product_holdings_idb":"edf98d6b-9744-4bdb-8c11-0f9a28bf5ca5"},"date_modified2":"16-10-2017","date_sent":"23-01-2020","action":"UPDATE"}}&lt;/PRE&gt; 
&lt;P&gt;I need the following format:&lt;/P&gt; 
&lt;P&gt;&lt;STRONG&gt;"tstamp_usec":1579825639825&lt;/STRONG&gt;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Can anyone help? It seems like I should be able to use "integer" in the JSON tree. Perhaps I'm doing something incorrectly.&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Thanks,&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Dave&lt;/P&gt;</description>
      <pubDate>Sat, 16 Nov 2024 03:28:31 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Help-preserving-integer-value-through-tWriteJSONField/m-p/2267789#M46563</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2024-11-16T03:28:31Z</dc:date>
    </item>
    <item>
      <title>Re: Help preserving integer value through tWriteJSONField</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Help-preserving-integer-value-through-tWriteJSONField/m-p/2267790#M46564</link>
      <description>&lt;P&gt;Hi Dave&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;it is impossible to keep this value as an integer, just because Integer limit is -&amp;nbsp;&lt;SPAN&gt;2,147,483,647 (much smaller than your values)&lt;/SPAN&gt;&lt;/P&gt;
&lt;PRE&gt;1579825342226000
1579825342226
&lt;STRONG&gt;2147483647&lt;/STRONG&gt;&lt;/PRE&gt;
&lt;P&gt;&lt;SPAN&gt;but why you do not use Long in the scheme?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;regards, Vlad&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 28 Jan 2020 23:19:12 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Help-preserving-integer-value-through-tWriteJSONField/m-p/2267790#M46564</guid>
      <dc:creator>vapukov</dc:creator>
      <dc:date>2020-01-28T23:19:12Z</dc:date>
    </item>
    <item>
      <title>Re: Help preserving integer value through tWriteJSONField</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Help-preserving-integer-value-through-tWriteJSONField/m-p/2267791#M46565</link>
      <description>&lt;P&gt;Hi Vlad,&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Thank you for responding. I see what you're saying. I'd incorrectly thought that since an integer in JSON didn't have the same limitation, that I could map it as an integer when mapping the JSON tree in tWriteJSONField.&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;So now I'm doing this:&lt;/P&gt; 
&lt;P&gt;tMap: use Long&lt;/P&gt; 
&lt;P&gt;tWriteJSONField JSON tree: use String or Number&lt;/P&gt; 
&lt;P&gt;tWriteJSONField: use Long&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;The value comes out of tWriteJSONField as&amp;nbsp;1.579825342226000E15, which I thought was a problem. But I found that I could publish that to Kafka, and the Kafka message displays the value as&amp;nbsp;1579825342226000, which is what I need.&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Thank you,&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;&amp;nbsp;&lt;/P&gt; 
&lt;P&gt;Dave&lt;/P&gt;</description>
      <pubDate>Wed, 29 Jan 2020 14:59:41 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Help-preserving-integer-value-through-tWriteJSONField/m-p/2267791#M46565</guid>
      <dc:creator>Anonymous</dc:creator>
      <dc:date>2020-01-29T14:59:41Z</dc:date>
    </item>
  </channel>
</rss>

