title: ConvertTo-Json and ConvertFrom-Json with special characters
body: <p>I have a file containing some properties which value of some of them contains escape characters, for example some Urls and Regex patterns.</p>
  
  <p>When reading the content and converting back to the json, with or without unescaping, the content is not correct. If I convert back to json with unescaping, some regular expression break, if I convert with unescaping, urls and some regular expressions will break.</p>
  
  <p>How can I solve the problem?</p>
  
  <p><strong>Minimal Complete Verifiable Example</strong></p>
  
  <p>Here are some simple code blocks to allow you simply reproduce the problem:</p>
  
  <p><strong><em>Content</em></strong> </p>
  
  <pre><code>$fileContent = 
  @"
  {
      "something":  "http://domain/?x=1&amp;y=2",
      "pattern":  "^(?!(\\`|\\~|\\!|\\@|\\#|\\$|\\||\\\\|\\'|\\\")).*"
  }
  "@
  </code></pre>
  
  <p><strong><em>With Unescape</em></strong></p>
  
  <p>If I read the content and then convert the content back to json using following command:</p>
  
  <pre><code>$fileContent | ConvertFrom-Json | ConvertTo-Json | %{[regex]::Unescape($_)}
  </code></pre>
  
  <p>The output (which is wrong) would be:</p>
  
  <pre><code>{
      "something":  "http://domain/?x=1&amp;y=2",
      "pattern":  "^(?!(\|\~|\!|\@|\#|\$|\||\\|\'|\")).*"
  }
  </code></pre>
  
  <p><strong><em>Without Unescape</em></strong></p>
  
  <p>If I read the content and then convert the content back to json using following command:</p>
  
  <pre><code>$fileContent | ConvertFrom-Json | ConvertTo-Json 
  </code></pre>
  
  <p>The output (which is wrong) would be:</p>
  
  <pre><code>{
      "something":  "http://domain/?x=1\u0026y=2",
      "pattern":  "^(?!(\\|\\~|\\!|\\@|\\#|\\$|\\||\\\\|\\\u0027|\\\")).*"
  }
  </code></pre>
  
  <p><strong>Expected Result</strong></p>
  
  <p>The expected result should be same as the input file content.</p>