title: How do JSON.parse() and escape characters work in JavaScript?
body: <p>Suppose I have an object variable:</p>
  
  <pre><code>var obj = {
      key: '\"Hello World\"'
  }
  </code></pre>
  
  <p>Then I tried parse it to string by using <code>JSON.stringify</code> in Chrome devtools console:</p>
  
  <pre><code>JSON.stringify(obj) // "{"key":"\"Hello World\""}"
  </code></pre>
  
  <p>I get the result <code>"{"key":"\"Hello World\""}"</code>. Then I give it to a string</p>
  
  <pre><code>var str = '{"key":"\"Hello World\""}'
  </code></pre>
  
  <p>At least I try to convert it back to obj:</p>
  
  <pre><code>JSON.parse(str);
  </code></pre>
  
  <p>but the browser tell me wrong <code>Uncaught SyntaxError</code></p>
  
  <p>What confused me is why this is wrong? I get the string from an origin object and I just want turn it back.</p>
  
  <p>How can I fix this problem? If I want do the job like convert obj to string and return it back, how can I do?</p>