Как я могу избежать моего пользовательского текста с Json.NET в ASP.NET 2.0 - PullRequest
0 голосов
/ 28 июня 2011

У меня есть страница aspx, которая извлекает некоторый пользовательский текст из базы данных и передает его методу JQuery Ajax как объект JSON.

Сама строка JSON проста {"popContent":"<div>html content</div>"}.
Содержимое может содержать такие элементы, как одинарные кавычки, двойные кавычки, возврат каретки и т. Д. Проблема в том, что я использую .net framework 2.0, изо всех сил пытаясь найти метод, который избежал бы этих элементов.

Я пытался использовать Json.NET, чтобы избежать этого. Документация относится к сериализации объектов, но не ясно, как экранировать строку. Это возможно с Json.NET? Или я должен создать объект с этой строкой и сериализовать это?

Спасибо

1 Ответ

1 голос
/ 28 июня 2011

Это возможно с помощью JSON.NET.

Поскольку вы используете .Net 2.0, у вас нет анонимных типов и вы не можете сделать это:

var result = new {
  popContent = "<div>html content</div>"
};

Поэтому я предлагаювы создаете класс с соответствующими свойствами, затем устанавливаете HTML-содержимое для свойства и используете JSON.NET для сериализации всего объекта.

Примерно так:

ContentWrapper cw = new ContentWrapper();
cw.PopContent = "<div>html content</div>";
string json = JsonConvert.SerializeObject(cw);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...