Soh*_*pta 16 .net c# json .net-4.0 json.net
我试图使用Json.NET将列表序列化为json字符串,但返回字符串中有反斜杠,这反过来又失败了json解析.
var x = from d in entities.Books.ToList()
select new
{
ID = d.ID,
BookName = d.BookName
};
return JsonConvert.SerializeObject(x.ToList());
Run Code Online (Sandbox Code Playgroud)
上面的代码返回
"[{\"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\"}]"
Run Code Online (Sandbox Code Playgroud)
它失败了所有JSON解析.我该如何删除它们.
xan*_*tos 19
不,它没有
class Program
{
class Book
{
public int ID;
public string BookName;
}
static void Main()
{
var books = new List<Book> { 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);
}
}
Run Code Online (Sandbox Code Playgroud)
可能有两个问题:
A)您正在查看调试器的结果.要检查这个,请JsonConvert输入一个临时变量(就像我一样)并使用调试器查看它.单击沙漏右侧的箭头并选择Text Visualizer.
要么
B)调用方法将对象再次转换为Json,从而逃避一切.
小智 5
string str = "Your string with slashes";
str = JToken.Parse({your string here}).ToString();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
32475 次 |
| 最近记录: |