我有一个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。网络生成?我不需要扫描整个对象层次结构来寻找具有正确$id
属性的对象,对吗?
首先,您不必手动将对象序列化为JSON。你可以这样使用JsonResult:
public JsonResult GetResult()
{
string myObject = "test";
return Json(myObject, JsonRequestBehavior.AllowGet);
}
现在回答你的问题:在JavaScript中,你会得到整个JSON对象,只是从它得到你想要的(更好的是只是发送你想要的没有冗余数据)。下面是一段JS代码:
$.get(URL, function (JSON) {
...
});
JSON将是您在GetResult()操作中看到的对象。