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 будет выполняться автоматически за кулисами.

  • как десериализовать JSON в IEnumerable с помощью Newtonsoft JSON.NET
  • C # JSON.NET - десериализация ответа, использующего необычную структуру данных
  • Json.Net: Html Помощник не регенерирует
  • Как написать Json-файл в C #?
  • Разбор JSON DateTime от JSON Serializer от Newtonsoft
  • Как я могу десериализовать JSON для простого словаря в ASP.NET?
  • Как установить Json.Net в качестве сериализатора по умолчанию для службы WCF REST
  • Преобразовать Newtonsoft.Json.Linq.JArray в список определенного типа объекта
  • Десериализация дат с форматом dd / mm / yyyy с использованием Json.Net
  • JSON.Net выдает StackOverflowException при использовании
  • Может ли Json.NET сериализовать / десериализовать в / из streamа?
  • Давайте будем гением компьютера.