<?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: Why doesn't Talend allow for JSONpath recursive descent? in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/Why-doesn-t-Talend-allow-for-JSONpath-recursive-descent/m-p/2533311#M148096</link>
    <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;It looks like a bug on&amp;nbsp;&lt;SPAN&gt;JSON parsing logic.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Could you please try to use&amp;nbsp;&lt;SPAN&gt;tExtractJSONFields&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;component to parse the data to fields, in one of the "JSON query" lines?&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;where '..' is recursive descent or does .*. work for you?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Best regards&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Sabrina&lt;/SPAN&gt;&lt;/P&gt;</description>
    <pubDate>Tue, 14 Oct 2025 01:11:51 GMT</pubDate>
    <dc:creator>Xiaodi_Shi</dc:creator>
    <dc:date>2025-10-14T01:11:51Z</dc:date>
    <item>
      <title>Why doesn't Talend allow for JSONpath recursive descent?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Why-doesn-t-Talend-allow-for-JSONpath-recursive-descent/m-p/2533302#M148095</link>
      <description>&lt;P&gt;Talend Studio Latest Version&lt;/P&gt;&lt;P&gt;jars used (as seen in Modules view) - json-path:2.9.0&lt;BR /&gt;&lt;BR /&gt;take a json as such:&amp;nbsp;&lt;/P&gt;&lt;DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;{&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"person"&lt;/SPAN&gt;&lt;SPAN&gt;: {&lt;/SPAN&gt;&lt;SPAN&gt;"name"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"bob"&lt;/SPAN&gt;&lt;SPAN&gt;, &lt;/SPAN&gt;&lt;SPAN&gt;"id"&lt;/SPAN&gt;&lt;SPAN&gt; : &lt;/SPAN&gt;&lt;SPAN&gt;"100101"&lt;/SPAN&gt;&lt;SPAN&gt;}, &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"relationList"&lt;/SPAN&gt;&lt;SPAN&gt;: [&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"person"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"name"&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;"Steve"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"id"&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;"100102"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"relationList"&lt;/SPAN&gt;&lt;SPAN&gt;: [&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;SPAN&gt;"person"&lt;/SPAN&gt;&lt;SPAN&gt;: {&lt;/SPAN&gt;&lt;SPAN&gt;"name"&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;"mary"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;SPAN&gt;"id"&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;"100104"&lt;/SPAN&gt;&lt;SPAN&gt;}}, &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;SPAN&gt;"parentId"&lt;/SPAN&gt;&lt;SPAN&gt; : &lt;/SPAN&gt;&lt;SPAN&gt;"100103"&lt;/SPAN&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ],&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"parentId"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;SPAN&gt;"100101"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }, &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"person"&lt;/SPAN&gt;&lt;SPAN&gt;: &lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"name"&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;"Sam"&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"Id"&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;"100105"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; },&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;/SPAN&gt;&lt;SPAN&gt;"parentId"&lt;/SPAN&gt;&lt;SPAN&gt;:&lt;/SPAN&gt;&lt;SPAN&gt;"100101"&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;&amp;nbsp; &amp;nbsp; ]&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV&gt;&lt;SPAN&gt;}&lt;BR /&gt;&lt;/SPAN&gt;where a person json object may have a parentId and/or relationList[] object at the same level accompanying it.&lt;BR /&gt;&lt;BR /&gt;To get all parentIds in the order that they show up in a depth first manner, the query is simply "$..parentId" where '..' is the recursive descent operator.&lt;BR /&gt;&lt;BR /&gt;In a TfileInputJson component, if $ is the loop query and ..parentId is the query for parentId column, it throws and error. If '$..' is the loop query and 'parentId' is the parentId column query, it also throws an error.&lt;BR /&gt;&lt;BR /&gt;What gives????&lt;/DIV&gt;&lt;DIV&gt;&lt;LI-PRODUCT title="Talend Studio" id="qlik_TalendStudio"&gt;&lt;/LI-PRODUCT&gt;&amp;nbsp;&lt;a href="https://community.qlik.com/t5/user/viewprofilepage/user-id/234791"&gt;@LUITS&lt;/a&gt;&amp;nbsp;&lt;/DIV&gt;&lt;/DIV&gt;</description>
      <pubDate>Mon, 13 Oct 2025 17:20:15 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Why-doesn-t-Talend-allow-for-JSONpath-recursive-descent/m-p/2533302#M148095</guid>
      <dc:creator>mattg1221</dc:creator>
      <dc:date>2025-10-13T17:20:15Z</dc:date>
    </item>
    <item>
      <title>Re: Why doesn't Talend allow for JSONpath recursive descent?</title>
      <link>https://community.qlik.com/t5/Talend-Studio/Why-doesn-t-Talend-allow-for-JSONpath-recursive-descent/m-p/2533311#M148096</link>
      <description>&lt;P&gt;Hello,&lt;/P&gt;
&lt;P&gt;It looks like a bug on&amp;nbsp;&lt;SPAN&gt;JSON parsing logic.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Could you please try to use&amp;nbsp;&lt;SPAN&gt;tExtractJSONFields&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;component to parse the data to fields, in one of the "JSON query" lines?&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN&gt;where '..' is recursive descent or does .*. work for you?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Best regards&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Sabrina&lt;/SPAN&gt;&lt;/P&gt;</description>
      <pubDate>Tue, 14 Oct 2025 01:11:51 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/Why-doesn-t-Talend-allow-for-JSONpath-recursive-descent/m-p/2533311#M148096</guid>
      <dc:creator>Xiaodi_Shi</dc:creator>
      <dc:date>2025-10-14T01:11:51Z</dc:date>
    </item>
  </channel>
</rss>

