title: How to concatenate a parameter with a string value in ARM template: Unable to parse template language expression
body: <p>I need to concatenate parameters in the ARM template (JSON file), and I have a problem with <code>&quot;/subscriptions/@{encodeURIComponent([parameters('id')])}/providers&quot;</code>. It looks that <code>[parameters('id')]</code> is not recognized as a parameter and it is just passed as a text.</p>
  <p>I know that it's possible to use <code>union</code> expression, but in my case I don't need to just merge two separate parameters (according to my understanding, this is what <code>union</code> does). I need to construct a string.</p>
  <p>Another option that I have in mind is to do it outside of JSON file, so that I can pass the <code>&quot;/subscriptions/@{encodeURIComponent([parameters('id')])}/providers&quot;</code> as a single parameter. But I find this approach ineffective, because in my ARM template I have 10 similar variables in which I just need to &quot;paste&quot; the value of <code>id</code>.</p>
  <pre><code>{
      &quot;$schema&quot;: &quot;https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#&quot;,
      &quot;contentVersion&quot;: &quot;1.0.0.0&quot;,
      &quot;parameters&quot;: {
          &quot;id&quot;: {
              &quot;type&quot;: &quot;string&quot;
          }
      },
      &quot;variables&quot;: {},
      &quot;resources&quot;: [{
          ...
          &quot;path&quot;: &quot;/subscriptions/@{encodeURIComponent([parameters('id')])}/providers&quot;,
          ...
      }]
  }
  </code></pre>