我有一个ASP.NET MVC站点,其控制器操作正在返回JSON。 JSON通过Newtonsoft的JSON.NET序列化,带
' 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
属性的对象,是吗?
答案 0 :(得分:-3)
首先,您不必手动将对象序列化为JSON。您可以像这样使用JsonResult:
public JsonResult GetResult()
{
string myObject = "test";
return Json(myObject, JsonRequestBehavior.AllowGet);
}
现在回答你的问题:在JavaScript中你将获得整个JSON对象,只需从中得到你想要的东西(更好的是只发送你想要的没有冗余数据)。这是一段JS代码:
$.get(URL, function (JSON) {
...
});
JSON将是您在GetResult()操作中发现的对象。