Генерация JSON-запроса вручную, возвращенный HTML вызывает проблемы - PullRequest
1 голос
/ 11 июня 2009

Я генерирую свой JSON вручную, и я даже избежал кавычек с предыдущей обратной косой чертой. Это вызывает у меня проблемы.

Мой HTML-код выглядит примерно так:

<div class="blah"><div class="a2">This is just a test!  I hope this work's man!</div></div>


string json = "MY HTML HERE";
json = json.Replace(@"""", @"\""");

Можно ли заменить что-то большее, чем просто двойные кавычки?

Ответы [ 4 ]

0 голосов
/ 22 ноября 2011

Не кодируйте JSON вручную - используйте сериализатор!

string json = new System.Web.Script.Serialization.JavaScriptSerializer()
    .Serialize(html);
0 голосов
/ 11 июня 2009

Да. Согласно спецификации JSON допустимым строковым значением является «любой символ Юникода, кроме» или \ или управляющий символ.

0 голосов
/ 11 июня 2009

У вас есть разрывы строк в строках для json? Иногда это ломает многие браузеры. Я обычно меняю "на \", \ на \, а cr / lf на \ n. Разрыв строки не является частью спецификации json согласно json.org, но большинство интерпретаторов javascript могут с этим справиться.

0 голосов
/ 11 июня 2009

Я думаю, что это сделает это:

json = json.Replace("\"", "\\\"");

Пожалуйста, опишите подробнее, где этот код?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...