我想解析一些由(string,string)對構成的JSON對象。我解析的文件包含這個。我想ot模仿resjson行爲。如何獲取Newtonsoft.Json反序列化值的非轉義字符串值?
{
"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」字符串a nd我無法知道原始文件的樣子。有沒有一種方法來保護字符逃跑?
如果初始化值爲「\ u0040 @」的字符串並檢索它ain會顯示爲「@ @」的值。 – Manvik
@SergiuMindras你爲什麼需要這個? – Athari
@Athari我想獲得原始字符串的「真實」值,因爲我想根據LineInfo來加下劃線。爲此,我需要字符串的起始位置和結束位置,但LineInfo只返回LinePosition和LineNumber(行和列)。 –