EF+MVC从后台拿到多张表的数据拼装成Json格式给前台

在网上搜了很多往前台发送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团队"
    }
  ]
}

以上就是我的两种方法,欢迎来评论说出你更好的方法吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值