MVC中返回Json的几种声明方式
第一种,单行数据
var result = new { name = "linfei", age = "26", address = "wuhan" };
//MVC中返回 return Json(result);
//asp.net中返回 System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer(); return js.Serialize(result);
显示结果:
{ "name": "linfei", "age": "26", "address": "wuhan" }
第二种,多行数据
var result = new object[] { new { name = "linfei", age = "22", address = "wuhan" }, new { name = "linfei", arg = "26", address = "sh" } };
//MVC中返回 return Json(result);
//asp.net中返回 System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer(); return js.Serialize(result);
显示结果:
[ { "name": "linfei", "age": "22", "address": "wuhan" }, { "name": "linfei", "arg": "26", "address": "sh" } ]
第三种,多行多对象数据
var data1 = new object[] { new { name = "linfei", age = "22", address = "wuhan" }, new { name = "linfei", arg = "26", address = "sh" } }; var data2 = new object[] { new { test="123",test1="qq"}, new { test = "456", test1 = "ww" } }; var result = new object[] { new { rows = data1 }, new { header = data2 } }; //MVC中返回 return Json(result); //asp.net中返回 System.Web.Script.Serialization.JavaScriptSerializer js = new System.Web.Script.Serialization.JavaScriptSerializer(); return js.Serialize(result);
显示结果:
[ { "rows": [ { "name": "linfei", "age": "22", "address": "wuhan" }, { "name": "linfei", "arg": "26", "address": "sh" } ] }, { "header": [ { "test": "123", "test1": "qq" }, { "test": "456", "test1": "ww" } ] } ]
还有个asp.net中的写法,网上找的
var data1 = new object[] { new { name = "linfei", age = "22", address = "wuhan" }, new { name = "linfei", arg = "26", address = "sh" } }; var data2 = new object[] { new { test = "123", test1 = "qq" }, new { test = "456", test1 = "ww" } }; Newtonsoft.Json.JsonSerializerSettings settings = new Newtonsoft.Json.JsonSerializerSettings(); settings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore; string result = Newtonsoft.Json.JsonConvert.SerializeObject(new { rows = data1, header = data2 }, Newtonsoft.Json.Formatting.Indented, settings);