Json.NET добавляет обратную косую черту при возврате сериализованной строки json

Я пытаюсь сериализовать список в json-строку с использованием Json.NET, но в возвращаемой строке есть обратная косая черта, что, в свою очередь, не приводит к синтаксическому parsingу json.

var x = from d in entities.Books.ToList() select new { ID = d.ID, BookName = d.BookName }; return JsonConvert.SerializeObject(x.ToList()); 

Вышеприведенный код возвращает

 "[{\"ID\":1,\"BookName\":\"MVC Music Store - Tutorial - v3.0\"},{\"ID\":2,\"BookName\":\"Pro.ASP.NET.MVC.3.Framework\"},{\"ID\":3,\"BookName\":\"Application Architecture Guide v2\"},{\"ID\":4,\"BookName\":\"Gang of Four Design Patterns\"},{\"ID\":5,\"BookName\":\"CS4 Pocket Reference\"}]" 

что не позволяет parsingа JSON. Как я могу удалить их.

Нет, это не

 class Program { class Book { public int ID; public string BookName; } static void Main() { var books = new List { new Book { ID = 1, BookName = "A" }, new Book { ID = 2, BookName = "B" } }; var x = from d in books select new { ID = d.ID, BookName = d.BookName }; string str = JsonConvert.SerializeObject(x.ToList()); Console.WriteLine(str); } } 

Могут быть две проблемы:

A) Вы смотрите на результат отладчика. Чтобы проверить это, поместите JsonConvert во временную переменную (как и я) и посмотрите на нее с помощью отладчика. Нажмите на стрелку справа от песочных часов и выберите Text Visualizer .

или

B) Вызывающий метод снова преобразует объект в Json, поэтому избегает всего.

 string str = "Your string with slashes"; str = JToken.Parse({your string here}).ToString(); 

Объект JSON сериализуется дважды.

Я решил:

Объявление контракта операции формата ответа метода для возврата JSON. Я изменил метод, чтобы вернуть объект вместо строки.

Сериализация Jason будет выполняться автоматически за кулисами.

  • Как десериализовать дочерний объект с динамическими (числовыми) именами клавиш?
  • ТипNameHandling предостережение в Newtonsoft Json
  • Уничтожить stream массива json по одному элементу за раз
  • Серийный объект Json.NET с корневым именем
  • JSON.NET как сериализатор OAP для WebAPI 2 и ODataMediaTypeFormatter
  • Как использовать Json.NET для JSON-моделирования в проекте MVC5?
  • Как десериализовать данные JSON?
  • Deserialize json с известными и неизвестными полями
  • Регистрация пользовательского JsonConverter по всему миру в Json.Net
  • Исключение «Исключительная привязка к реляционной ссылке» с JSON.Net
  • json.net: указать конвертер для ключей словаря
  • Давайте будем гением компьютера.