В настоящее время я сериализую объект, подобный приведенному ниже.
"запись" - это массив строк, в котором есть специальный символ, например>, <, & etc </p>
Первый индекс взапись - «<», это специальный символ xml, который преобразуется в «<»;by SecurityElement.Escape (record [x]);. </p>
После этого, когда я пытаюсь его избежать, используется HttpUtility.JavaScriptStringEncode, который преобразуется в \ u0026lt.
var result = new Dictionary<string, string>();
string[] record = { "<", ">", "John & James" };
for (int x = 0; x < record.Length; x++)
{
string xmlEscaped = SecurityElement.Escape(record[x]);
result.Add($"F{235}_{"Property"}{x + 1}", HttpUtility.JavaScriptStringEncode(xmlEscaped));
}
string json= JsonConvert.SerializeObject(result);
и результатиз json является
{"F235_Property1": "\ u0026lt;", "F235_Property2": "\ u0026gt;", "F235_Property3": "John \ u0026amp; James"}
Когда ядесериализовать тот же самый json, я использую
var jsonConverted = JsonConvert.DeserializeObject(json);
Но после десериализации преобразованные специальные символы не преобразуются обратно в исходные.Пример - \ u0026lt не преобразует обратно в "<"; </p>
Пожалуйста, помогите мне решить эту проблему.Заранее спасибо.