在网上搜了很多往前台发送Json格式的数据都是只涉及到数据库中一张表,直接用Json(jsonTxt.ToString(), "text/html;charset=UTF-8", JsonRequestBehavior.AllowGet)方法序列化成Json数组发送给了前台,然而如果涉及到多张表的内容,但又不是一张表中的全部内容只涉及到一两个字段,那么要怎么办呢?(我想到了两个办法)
第一:用StringBuilder拼装成Json数组
前台代码:用AJAX发送get或post请求,拿到data数据
后台代码:
第一种方法虽然很容易想到,但是我感觉很麻烦,不仅是拼的麻烦而且还很容易出错。因此我想到了哟中更简单的方法
第二:通过引用Newtonsoft.Json、Newtonsoft.Json.Converters命名空间用JsonConvert.SerializeObject()方法序列化
这种方法很简单,不用拼装而且还很容易理解
前台代码:和上面一样也是通过AJAX发送get或post请求拿到json数据
后台代码:首先要自定义你要序列化数据的类,通过调用JsonConvert.SerializeObject()方法序列化就能拿到相应的Json数据,而且Json中的名就是你自定义的类中的属性名。
返回的Json数据就是以下这种:{
"Honors": [
{
"honorName": "平台",
"honorSubmit": "2018-03-06T00:00:00",
"honorIntroduce": "微积分极限"
},
{
"honorName": "平台",
"honorSubmit": "2018-03-06T00:00:00",
"honorIntroduce": "微积分极限"
}
],
"Teams": [
{
"logo": "Image/LogoPhoto/logo.jpg",
"guidTeacher": "梅玲落",
"teamName": "BAR团队"
}
]
}
以上就是我的两种方法,欢迎来评论说出你更好的方法吧。