C# 用JSON序列化ASP.NET MVC模型
我有一个这样的模型C# 用JSON序列化ASP.NET MVC模型,c#,asp.net-mvc,json,json.net,C#,Asp.net Mvc,Json,Json.net,我有一个这样的模型 public class Category : BaseFieldsTables { public ICollection<Category> Categories { get; set; } public Category Parent { get; set; } public int? ParentId { get; set; } } 但我得到了这个结果 "[\r\n {\r\n \"$id\"
public class Category : BaseFieldsTables
{
public ICollection<Category> Categories { get; set; }
public Category Parent { get; set; }
public int? ParentId { get; set; }
}
但我得到了这个结果
"[\r\n {\r\n \"$id\": \"1\",\r\n \"id\": 1,\r\n \"title\": \"News\",\r\n \"children\": null\r\n },\r\n {\r\n \"$id\": \"2\",\r\n \"id\": 2,\r\n \"title\": \"2012\",\r\n \"children\":
{\r\n \"$id\": \"3\",\r\n \"Categories\": [\r\n {\r\n \"$id\":
这是正常的。您看到的只是字符串的转义版本(可能直接在VisualStudio中)
\r\n
相当于换行符,\“
只是转义”
的一种方法。输出时,这应该显示为正常值。但我想将其用于树,并且我得到了[{“$id”:“1”,“id”:2,“title”:“News”,“children”:null}的错误未捕获无效数据类型,这意味着您正在错误地解析JSON。您将不得不发布更多代码…JSON本身是正确的。我不知道为什么要这样“$id”:“13”,“id”:12,您将不得不发布更多代码并更具体。var categories=new categorimapper().mappmdollectionofviewmodel(_efCategory.List()).ToList().Select(x=>new{id=x.id,title=x.Name,children=x.Parent});string output=JsonConvert.SerializeObject(categories,Formatting.Indented,new JsonSerializerSettings{PreserveReferencesHandling=PreserveReferencesHandling.Objects})返回Json(输出,JsonRequestBehavior.AllowGet);
"[\r\n {\r\n \"$id\": \"1\",\r\n \"id\": 1,\r\n \"title\": \"News\",\r\n \"children\": null\r\n },\r\n {\r\n \"$id\": \"2\",\r\n \"id\": 2,\r\n \"title\": \"2012\",\r\n \"children\":
{\r\n \"$id\": \"3\",\r\n \"Categories\": [\r\n {\r\n \"$id\":