C #, у меня есть класс Automobile, и в этом классе у меня есть поле vehicleTrim.
Я использую JsonConvert.SerializeObject
для сериализации этого класса, и он не экранирует одинарную кавычку.
Это вызывает проблему, когда я пытаюсь установить значение объекта в сети с помощью функции window.localStorage.setItem
.
пример:
public class Automobile
{
public string vehicleTrim { get; set; }
}
var test = new Automobile()
{
vehicleTrim = "designer's package"
};
var serialized = JsonConvert.SerializeObject(test, Formatting.None);
// serialized output: {"vehicleTrim":"designer's package"}
// expected output : {"vehicleTrim":"designer\'s package"}
так что теперь я хочу установить этот объект json в локальное хранилище моей сети, вызвав это
var jsSetScript = $"window.localStorage.setItem('automobile', '{serialized}');";
await Control.EvaluateJavascriptAsync(jsSetScript);
EvaluateJavascriptAsync возвращает эту ошибку, пытаясь прочитать json SyntaxError: Unexpected identifier 's'. Expected ')' to end an argument list.
Я попытался сделать это с помощью экранированной одинарной кавычки, и это было прекрасно. Итак, вопрос в том, как я могу заставить метод serializedobject экранировать одинарную кавычку?