我正在尝试解析一些仅由 (string,string) 对组成的 JSON 对象。我正在解析的文件包含这个。我想模仿 resjson 的行为。
{
"first_key": "first_value",
"unicode": "\u0040 @"
}
我所做的是
string path = @"d:\resjson\example.resjson";
string jsonText = File.ReadAllText(path);
IDictionary<string, string> dict;
try
{
dict = JsonConvert.DeserializeObject<IDictionary<string, string>>(jsonText);
}
catch(Exception ex)
{
// log or something
}
当我获得 dict 对象时,
foreach (var pair in _dict)
{
string key = pair.Key;
string value = pair.Value;
Console.WriteLine("Key = '{0}', Value = '{1}'", key, value);
}
这为我输入:
"Key = 'first_key', Value = 'first_value'"
"Key = 'unicode', Value = '@ @'"
一旦 Newtonsoft.Json 反序列化对象,我就会丢失“\u0040”字符串,并且我无法知道原始文件的外观。有没有办法保留字符转义?