<?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 [2025-05] tHTTPClient : how to extract @microsoft.graph.downloadUrl from JSON response in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/2025-05-tHTTPClient-how-to-extract-microsoft-graph-downloadUrl/m-p/2533149#M148089</link>
    <description>&lt;P data-pm-slice="1 1 []"&gt;&lt;SPAN&gt;Hello Community,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;In Talend &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;2025-05&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; I’m calling &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Microsoft Graph&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; with &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tHTTPClient&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The request works and I get a JSON payload back, but I can’t figure out how to extract the &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;download URL&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; that sits under the special field name &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;@microsoft.graph.downloadUrl&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Here is a (sanitized) fragment of the JSON I receive:&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;{
  "@microsoft.graph.downloadUrl": "https://...sharepoint.com/sites/.../download.aspx?...",
  "createdBy": { "user": { "email": "user@domain.com", "id": "...", "displayName": "User Name" } },
  "createdDateTime": "2025-10-10T11:32:14Z",
  "eTag": "\"{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX},1\"",
  "id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "name": "example.jpeg",
  "webUrl": "https://...sharepoint.com/sites/.../example.jpeg",
  "size": 6632
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-pm-slice="1 1 []"&gt;&lt;SPAN&gt;What I tried in &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tHTTPClient → Output key/value pairs&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; (none worked):&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL data-spread="false" data-pm-slice="3 3 []"&gt;
&lt;LI&gt;
&lt;P&gt;&lt;CODE&gt;&lt;SPAN&gt;.@microsoft.graph.downloadUrl&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-pm-slice="1 1 [&amp;quot;list&amp;quot;,{&amp;quot;spread&amp;quot;:false,&amp;quot;start&amp;quot;:962,&amp;quot;end&amp;quot;:1231},&amp;quot;regular_list_item&amp;quot;,{&amp;quot;start&amp;quot;:1031,&amp;quot;end&amp;quot;:1066}]"&gt;&lt;CODE&gt;&lt;SPAN&gt;.[@microsoft.graph.downloadUrl]&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-pm-slice="1 1 [&amp;quot;list&amp;quot;,{&amp;quot;spread&amp;quot;:false,&amp;quot;start&amp;quot;:961,&amp;quot;end&amp;quot;:1230},&amp;quot;regular_list_item&amp;quot;,{&amp;quot;start&amp;quot;:1139,&amp;quot;end&amp;quot;:1183}]"&gt;&lt;CODE&gt;&lt;SPAN&gt;{.response.@microsoft.graph.downloadUrl}&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-pm-slice="1 1 [&amp;quot;list&amp;quot;,{&amp;quot;spread&amp;quot;:false,&amp;quot;start&amp;quot;:961,&amp;quot;end&amp;quot;:1230},&amp;quot;regular_list_item&amp;quot;,{&amp;quot;start&amp;quot;:1184,&amp;quot;end&amp;quot;:1230}]"&gt;&lt;CODE&gt;&lt;SPAN&gt;{.response.[@microsoft.graph.downloadUrl]}&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-pm-slice="1 1 []"&gt;&lt;SPAN&gt;And in the console I keep getting:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P data-pm-slice="1 1 []"&gt;&lt;SPAN&gt;&lt;FONT color="#FF6600"&gt;[WARN ] ... TckSelectorInterpreterImpl - The selector '.@microsoft.graph.downloadUrl' doesn't match the given record. Empty string is returned.&lt;/FONT&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P data-pm-slice="1 1 []"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-pm-slice="1 1 []"&gt;&lt;SPAN&gt;It looks like the selector engine used by &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tHTTPClient&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; chokes on the &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN&gt;@&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN&gt; and the dots in the property name, even if I quote or escape it.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3&gt;&lt;SPAN&gt;My questions&lt;/SPAN&gt;&lt;/H3&gt;
&lt;UL data-spread="false"&gt;
&lt;LI&gt;
&lt;P&gt;&lt;SPAN&gt;Is there a selector syntax in &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tHTTPClient&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; that allows addressing JSON properties whose names include special characters (like &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN&gt;@&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN&gt; and &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN&gt;)?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If yes, what is the exact form to read &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;@microsoft.graph.downloadUrl&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;SPAN&gt;Alternatively, can we switch the component to &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;JSONPath&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; style (e.g., &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN&gt;$['@microsoft.graph.downloadUrl']&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN&gt;) for the Output key/value selector?&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;SPAN&gt;If this is not supported by &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tHTTPClient&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;, what’s the recommended built-in Talend way to grab that field directly after the call?&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;SPAN&gt;Current workaround&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN&gt;I can set &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Returned content = Body&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; and then use a downstream &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tExtractJSONFields&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; with JSONPath&lt;/SPAN&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;SPAN&gt;$['@microsoft.graph.downloadUrl']&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN&gt; to get the value. This works, but I’d prefer to keep it inside &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tHTTPClient&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; using &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Output key/value pairs&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; if possible (lighter job and fewer components).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Has anyone hit this before and found a clean selector that works within &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tHTTPClient&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thank you in advance for your help!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Screenshots attached for reference :&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PaSympa_0-1760114327943.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184183iD20F9DDC8B4E0060/image-size/medium?v=v2&amp;amp;px=400" role="button" title="PaSympa_0-1760114327943.png" alt="PaSympa_0-1760114327943.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
    <pubDate>Fri, 10 Oct 2025 16:41:32 GMT</pubDate>
    <dc:creator>PaSympa</dc:creator>
    <dc:date>2025-10-10T16:41:32Z</dc:date>
    <item>
      <title>[2025-05] tHTTPClient : how to extract @microsoft.graph.downloadUrl from JSON response</title>
      <link>https://community.qlik.com/t5/Talend-Studio/2025-05-tHTTPClient-how-to-extract-microsoft-graph-downloadUrl/m-p/2533149#M148089</link>
      <description>&lt;P data-pm-slice="1 1 []"&gt;&lt;SPAN&gt;Hello Community,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;In Talend &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;2025-05&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; I’m calling &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Microsoft Graph&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; with &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tHTTPClient&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The request works and I get a JSON payload back, but I can’t figure out how to extract the &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;download URL&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; that sits under the special field name &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;@microsoft.graph.downloadUrl&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Here is a (sanitized) fragment of the JSON I receive:&lt;/SPAN&gt;&lt;/P&gt;
&lt;LI-CODE lang="markup"&gt;{
  "@microsoft.graph.downloadUrl": "https://...sharepoint.com/sites/.../download.aspx?...",
  "createdBy": { "user": { "email": "user@domain.com", "id": "...", "displayName": "User Name" } },
  "createdDateTime": "2025-10-10T11:32:14Z",
  "eTag": "\"{XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX},1\"",
  "id": "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
  "name": "example.jpeg",
  "webUrl": "https://...sharepoint.com/sites/.../example.jpeg",
  "size": 6632
}&lt;/LI-CODE&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-pm-slice="1 1 []"&gt;&lt;SPAN&gt;What I tried in &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tHTTPClient → Output key/value pairs&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; (none worked):&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL data-spread="false" data-pm-slice="3 3 []"&gt;
&lt;LI&gt;
&lt;P&gt;&lt;CODE&gt;&lt;SPAN&gt;.@microsoft.graph.downloadUrl&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-pm-slice="1 1 [&amp;quot;list&amp;quot;,{&amp;quot;spread&amp;quot;:false,&amp;quot;start&amp;quot;:962,&amp;quot;end&amp;quot;:1231},&amp;quot;regular_list_item&amp;quot;,{&amp;quot;start&amp;quot;:1031,&amp;quot;end&amp;quot;:1066}]"&gt;&lt;CODE&gt;&lt;SPAN&gt;.[@microsoft.graph.downloadUrl]&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-pm-slice="1 1 [&amp;quot;list&amp;quot;,{&amp;quot;spread&amp;quot;:false,&amp;quot;start&amp;quot;:961,&amp;quot;end&amp;quot;:1230},&amp;quot;regular_list_item&amp;quot;,{&amp;quot;start&amp;quot;:1139,&amp;quot;end&amp;quot;:1183}]"&gt;&lt;CODE&gt;&lt;SPAN&gt;{.response.@microsoft.graph.downloadUrl}&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P data-pm-slice="1 1 [&amp;quot;list&amp;quot;,{&amp;quot;spread&amp;quot;:false,&amp;quot;start&amp;quot;:961,&amp;quot;end&amp;quot;:1230},&amp;quot;regular_list_item&amp;quot;,{&amp;quot;start&amp;quot;:1184,&amp;quot;end&amp;quot;:1230}]"&gt;&lt;CODE&gt;&lt;SPAN&gt;{.response.[@microsoft.graph.downloadUrl]}&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;P data-pm-slice="1 1 []"&gt;&lt;SPAN&gt;And in the console I keep getting:&lt;/SPAN&gt;&lt;/P&gt;
&lt;P data-pm-slice="1 1 []"&gt;&lt;SPAN&gt;&lt;FONT color="#FF6600"&gt;[WARN ] ... TckSelectorInterpreterImpl - The selector '.@microsoft.graph.downloadUrl' doesn't match the given record. Empty string is returned.&lt;/FONT&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P data-pm-slice="1 1 []"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P data-pm-slice="1 1 []"&gt;&lt;SPAN&gt;It looks like the selector engine used by &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tHTTPClient&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; chokes on the &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN&gt;@&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN&gt; and the dots in the property name, even if I quote or escape it.&lt;/SPAN&gt;&lt;/P&gt;
&lt;H3&gt;&lt;SPAN&gt;My questions&lt;/SPAN&gt;&lt;/H3&gt;
&lt;UL data-spread="false"&gt;
&lt;LI&gt;
&lt;P&gt;&lt;SPAN&gt;Is there a selector syntax in &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tHTTPClient&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; that allows addressing JSON properties whose names include special characters (like &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN&gt;@&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN&gt; and &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN&gt;)?&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If yes, what is the exact form to read &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;@microsoft.graph.downloadUrl&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;SPAN&gt;Alternatively, can we switch the component to &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;JSONPath&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; style (e.g., &lt;/SPAN&gt;&lt;CODE&gt;&lt;SPAN&gt;$['@microsoft.graph.downloadUrl']&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN&gt;) for the Output key/value selector?&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;LI&gt;
&lt;P&gt;&lt;SPAN&gt;If this is not supported by &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tHTTPClient&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;, what’s the recommended built-in Talend way to grab that field directly after the call?&lt;/SPAN&gt;&lt;/P&gt;
&lt;/LI&gt;
&lt;/UL&gt;
&lt;H3&gt;&lt;SPAN&gt;Current workaround&lt;/SPAN&gt;&lt;/H3&gt;
&lt;P&gt;&lt;SPAN&gt;I can set &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Returned content = Body&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; and then use a downstream &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tExtractJSONFields&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; with JSONPath&lt;/SPAN&gt;&lt;BR /&gt;&lt;CODE&gt;&lt;SPAN&gt;$['@microsoft.graph.downloadUrl']&lt;/SPAN&gt;&lt;/CODE&gt;&lt;SPAN&gt; to get the value. This works, but I’d prefer to keep it inside &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tHTTPClient&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; using &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;Output key/value pairs&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt; if possible (lighter job and fewer components).&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Has anyone hit this before and found a clean selector that works within &lt;/SPAN&gt;&lt;SPAN&gt;&lt;STRONG&gt;tHTTPClient&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN&gt;?&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Thank you in advance for your help!&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Screenshots attached for reference :&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="PaSympa_0-1760114327943.png" style="width: 400px;"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/184183iD20F9DDC8B4E0060/image-size/medium?v=v2&amp;amp;px=400" role="button" title="PaSympa_0-1760114327943.png" alt="PaSympa_0-1760114327943.png" /&gt;&lt;/span&gt;&lt;/P&gt;</description>
      <pubDate>Fri, 10 Oct 2025 16:41:32 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/2025-05-tHTTPClient-how-to-extract-microsoft-graph-downloadUrl/m-p/2533149#M148089</guid>
      <dc:creator>PaSympa</dc:creator>
      <dc:date>2025-10-10T16:41:32Z</dc:date>
    </item>
    <item>
      <title>Re: [2025-05] tHTTPClient : how to extract @microsoft.graph.downloadUrl from JSON response</title>
      <link>https://community.qlik.com/t5/Talend-Studio/2025-05-tHTTPClient-how-to-extract-microsoft-graph-downloadUrl/m-p/2533249#M148090</link>
      <description>&lt;P&gt;Hello,&amp;nbsp;&lt;/P&gt;
&lt;P&gt;After a lot of testing I finally managed to make it work!&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;HR /&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;When the &lt;STRONG&gt;tHTTPClient&lt;/STRONG&gt; component automaticaly normalizes the JSON response, all property names containing special characters are automatically transformed:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;CODE&gt;&lt;SPAN&gt;@&lt;/SPAN&gt;&lt;/CODE&gt;&amp;nbsp;is &lt;STRONG&gt;ignored&lt;/STRONG&gt; (removed)&lt;/LI&gt;
&lt;LI&gt;&lt;CODE&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/CODE&gt; (dot) is &lt;STRONG&gt;replaced by an underscore&lt;/STRONG&gt; (&lt;CODE&gt;&lt;SPAN&gt;_&lt;/SPAN&gt;&lt;/CODE&gt;)&lt;/LI&gt;
&lt;/UL&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;So, for example,&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN data-teams="true"&gt;"&lt;FONT color="#FF0000"&gt;@&lt;/FONT&gt;microsoft&lt;FONT color="#FF0000"&gt;.&lt;/FONT&gt;graph&lt;FONT color="#FF0000"&gt;.&lt;/FONT&gt;downloadUrl" → becomes "microsoft&lt;FONT color="#FF0000"&gt;_&lt;/FONT&gt;graph&lt;FONT color="#FF0000"&gt;_&lt;/FONT&gt;downloadUrl"&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;That means to extract this value correctly, you just have to reference it with the normalized path.&lt;/P&gt;
&lt;P&gt;In my case, the working selector was:&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;SPAN&gt;{.response.microsoft_graph_downloadUrl}&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;No need for quotes, escaping, or additional normalization rules — just use the normalized name and it works perfectly!&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;span class="lia-unicode-emoji" title=":warning:"&gt;⚠️&lt;/span&gt; &lt;STRONG&gt;Important note about normalization with default values&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;If you try to normalize the JSON HTTP response using the "Normalize attributes" option to ensure that this field is always present, be careful:&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Talend performs the normalization (&lt;CODE&gt;&lt;SPAN&gt;.&lt;/SPAN&gt;&lt;/CODE&gt;replacement,&lt;CODE&gt;&lt;SPAN&gt;@&lt;/SPAN&gt;&lt;/CODE&gt;removal) &lt;STRONG&gt;after&lt;/STRONG&gt;&amp;nbsp;adding the declared fields.&lt;/P&gt;
&lt;P&gt;That means if you define a path such as:&lt;/P&gt;
&lt;P&gt;&lt;CODE&gt;&lt;SPAN&gt;.value.*.microsoft_graph_downloadUrl&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/P&gt;
&lt;P&gt;and provide a &lt;STRONG&gt;default value&lt;/STRONG&gt;, Talend will create that field &lt;STRONG&gt;before&lt;/STRONG&gt; the dots are replaced by underscores, effectively re-creating it for every object and overwriting the original values with the default everywhere.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;In short&lt;/STRONG&gt;:&amp;nbsp;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Don’t use a default value for these special keys. Let Talend normalize the response automatically, and handle missing fields later (e.g., in a tMap).&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope this helps anyone facing the same issue&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;
&lt;P&gt;&lt;LI-WRAPPER&gt;&lt;/LI-WRAPPER&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 13 Oct 2025 12:20:38 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/2025-05-tHTTPClient-how-to-extract-microsoft-graph-downloadUrl/m-p/2533249#M148090</guid>
      <dc:creator>PaSympa</dc:creator>
      <dc:date>2025-10-13T12:20:38Z</dc:date>
    </item>
  </channel>
</rss>

