我有一个这样的模型
public class Category : BaseFieldsTables
{
public ICollection<Category> Categories { get; set; }
public Category Parent { get; set; }
public int? ParentId { get; set; }
}
我想将模型序列化为 JSON,这是我的控制器
var categories =
_efCategory.List().ToList().
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
});
return Json(output.Replace, JsonRequestBehavior.AllowGet);
但我得到这个结果
"[rn {rn "$id": "1",rn "id": 1,rn "title": "News",rn "children": nullrn },rn {rn "$id": "2",rn "id": 2,rn "title": "2012",rn "children":
{rn "$id": "3",rn "Categories": [rn {rn "$id":
这是
正常的。您看到的只是字符串的转义版本(可能直接在 Visual Studio 中)。 rn
相当于换行符,"
只是逃避"
的一种手段。输出时,这应该显示为正常。