У меня есть строка json, которая создается с помощью следующего кода:
string path1 = "C:\\Program Files (x86)\\IMAGE\\model\\net.mat";
string path2 = "C:\\Program Files (x86)\\IMAGE\\png\\Lab.png";
string path3 = "D:\\temp\\";
string[] strs={path1 ,path2 ,path3};
string json = JsonConvert.SerializeObject(strs);
Console.WriteLine(json);
List<string> paths = JsonConvert.DeserializeObject<List<string>>(json);
Console.WriteLine(paths.Count);
, и при сериализации или десериализации я не вижу ошибки.Строка json выглядит следующим образом:
"[\"C:\\\\Program Files (x86)\\\\IMAGE\\\\model\\\\net.mat\",\"C:\\\\Program Files (x86)\\\\IMAGE\\\\png\\\\Lab.png\",\"D:\\\\temp\\\\\"]"
Затем я передаю строку json в файл * .exe и десериализую ее.Полученная exe строка выглядит следующим образом, которая изменилась после прохода:
string json="[C:\\\\Program Files (x86)\\\\IMAGE\\\\model\\\\net.mat,C:\\\\Program Files
(x86)\\\\IMAGE\\\\png\\\\Lab.png,D:\\\\temp\\]";
Затем, когда я использую следующий код для десериализации, появляется ошибка. Код выглядит следующим образом:
List<string> paths = JsonConvert.DeserializeObject<List<string>>(json);
Ошибка:
Необработанное JsonReaderException: неожиданный символ, обнаруженный при разборе значения: C. Путь '', строка 1, позиция 2.
Интересно, почемуЭто так. Спасибо.