Javascript 如何在浏览器中处理Json.NET对象引用?
我有一个ASP.NETMVC站点,它有一个返回JSON的控制器操作。JSON是通过Newtonsoft的JSON.NET序列化的,带有Javascript 如何在浏览器中处理Json.NET对象引用?,javascript,json.net,Javascript,Json.net,我有一个ASP.NETMVC站点,它有一个返回JSON的控制器操作。JSON是通过Newtonsoft的JSON.NET序列化的,带有 ' This is VB, even though it looks very C#-like. result = JsonConvert.SerializeObject( Data, Formatting.Indented, New JsonSerializerSettings With { .ReferenceLoopHa
' This is VB, even though it looks very C#-like.
result =
JsonConvert.SerializeObject(
Data, Formatting.Indented,
New JsonSerializerSettings With {
.ReferenceLoopHandling = ReferenceLoopHandling.Serialize,
.PreserveReferencesHandling = PreserveReferencesHandling.Objects
})
请注意.PreserveReferencesHandling=PreserveReferencesHandling.Objects
此序列化数据的使用者是浏览器中的javascript
那么,我如何才能让消费者javascript更好地处理JSON.NET生成的引用呢?我不必扫描整个对象层次结构来查找具有正确$id属性的对象,是吗?首先,您不必手动将对象序列化为JSON。您可以像这样使用JsonResult:
public JsonResult GetResult()
{
string myObject = "test";
return Json(myObject, JsonRequestBehavior.AllowGet);
}
现在回答您的问题:在JavaScript中,您将获得整个JSON对象,从中得到您想要的更好的东西,就是在没有冗余数据的情况下发送您想要的东西。下面是一段JS代码:
$.get(URL, function (JSON) {
...
});
JSON将是您在GetResult操作中发现的对象。向我们展示生成的对象相似或相同:和。谢谢@dbc,这些链接让我走上了一条很好的道路。Josh Mouch正是我要找的。