Code Bye

关于MVC的Json()方法返回内容的问题

public JsonResult Index()
{
    return Json("{"name":"fa","age":18}");
    //微软Json()方法的描述
    //创建一个将指定对象序列化为 JavaScript 对象表示法 (JSON) 的 System.Web.Mvc.JsonResult 对象。
}

假如直接触发这个方法在页面上显示内容是
“{“name”:”fa”,”age”:18}”
实际上是本人用ajax发送一个post请求过去,并在回调函数里写到
var json = JSON.parse(data);
接着本想在谷歌浏览器里查看下这个对象,结果输出的是{“name”:”fa”,”age”:18}
输出的内容没有被引号括起来,所以也不知道是字符串还是啥
正常情况应该是输出  Object {name: “fa”, age: 18} 这样的
假如把这个结果再转换一次就可以得到上面的
var json = JSON.parse(data);
json = JSON.parse(data);
json    //Object {name: “fa”, age: 18}

解决方案

40

显然 return Json(json); 中的 json 应该是对象,而不是字符串
也就是 Json 方法本人会完成将对象序列化成 json 传递工作
var result = new
{
code = “0000”,
data = data//这个值是一个DataTable
};
return Json(result);

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于MVC的Json()方法返回内容的问题