.net core web api 返回json数据格式

web api写api接口时默认返回的是把你的对象序列化后以XML形式返回,那么怎样才能让其返回为json呢,下面就介绍一种方法

1.先创建一个实体类

   public partial class TBook
    {
        public int Id { get; set; }
        public string Bookname { get; set; }
        public DateTime DateTime { get; set; }
        public string CreatName { get; set; }
    }

2.然后创建上下文类

3.编写一个返回数据的返回类APIModle

任何接口都应该返回int status、object data、string msg这三个共同的属性。前端根据状态值做不同的业务逻辑,msg用于在一些情况直接展示接口返回的文本进行提示而不必在前端写死。所以,我们需要要定义一个类,所有接口的数据都必须是这个类。

 public class ApiModel
    {

        //业务状态 可以是 1.成功 2.失败等等

       public int status { get; set; }

        //业务数据
        public object data { get; set; }

        //提示信息
        public String msg { get; set; }
    }


4.然后我们写一个测试数据的接口

  [HttpGet]
        public ApiModel Get()
        {
            var list = VipContext.TBooks.ToList();


            return new ApiModel()
            {

                status = 1,
                //转换为json数据格式 
               data = JsonConvert.SerializeObject(list),
               //不转换json数据格式 
                //data = list,
                msg ="查询成功"
        };
           
        }

这里有一个坑 如果你转换Json数据格式的话反而得到一个不太好得数据形式 下面大家看看这两种情况对比

这是转换json格式的
 为什么会是个字符串,这是因为我们多余的为对象进行序列化导致的!

 这是没转换的

所以我们要用要采用正确的方式

  • 11
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值