Подтвердить что ты не робот

Кавычки в Newtonsoft JSON

У меня есть объект:

public class Test 
{
    public string Prop1 { get; set; }
}

Я хотел бы сериализовать его в json в представлении, поэтому в моем cshtml:

<script type="text/javascript">
   var myJson = JSON.parse('@Html.Raw(JsonConvert.Serialize(Model.MyTest))');
</script>

Он работает, пока Prop1 не содержит кавычек, потому что он отображается как:

var myJson = JSON.parse('{"Prop1":"\"Quoted text\""}');

К сожалению, такая строка выдает ошибку синтаксического анализа. Я знаю, что это должно быть:

 var myJson = JSON.parse('{"Prop1":"\\"Quoted text\\""}');

Как настроить Newtonsoft для его правильной сериализации?

4b9b3361

Ответ 1

Вы не должны разбирать строку во второй раз, так как уже сериализовали ее как JSON, вы можете напрямую использовать ее в Javascript (JS в JSON).

var myJson = @Html.Raw(JsonConvert.Serialize(Model.MyTest));

Будет выводиться:

var myJson = {"Prop1":"\"Quoted text\""};

И потому что вам всегда нужен JSFiddle, чтобы доказать, что он работает.