title: How to obtain unescaped string value of Newtonsoft.Json deserialized value?
body: <p>I am trying to parse some JSON objects which is made just of (string,string) pairs. The file I am parsing contains this. I want ot emulate resjson behaviour.</p>
  
  <pre><code>{
    "first_key": "first_value",
    "unicode": "\u0040 @"
  }
  </code></pre>
  
  <p>What I do is </p>
  
  <pre><code>string path = @"d:\resjson\example.resjson";
  string jsonText = File.ReadAllText(path);
  
  IDictionary&lt;string, string&gt; dict;
  try
  {
      dict = JsonConvert.DeserializeObject&lt;IDictionary&lt;string, string&gt;&gt;(jsonText);
  }
  catch(Exception ex)
  {
    // log or something
  }
  </code></pre>
  
  <p>When I obtain the dict object, the </p>
  
  <pre><code>foreach (var pair in _dict)
  {
    string key = pair.Key;
    string value = pair.Value;
  
    Console.WriteLine("Key = '{0}', Value = '{1}'", key, value);
  }
  </code></pre>
  
  <p>This inputs for me :</p>
  
  <pre><code>"Key = 'first_key', Value = 'first_value'"
  "Key = 'unicode', Value = '@ @'"
  </code></pre>
  
  <p>Once Newtonsoft.Json deserializes the object, I lose the "\u0040" string and I have no way of knowing how the original file looked like. Is there a way to preserve character escaping ?</p>