mvc 控制器中 return ActionResult 的注意

1、 return Json() 用来把对象序列化后变成json 返回【字符串也是一个对象,但是通过这种序列化后还是一个字符串,并不会解析它的内容,所以返回的还是字符串形式而不是json形式】

     return Content()  参数只能是字符串类型,它是专门用来把json格式的字符串解析成json对象的。【如果要返回一个普通的非json格式的字符串 用这两种方法都可以 ,但是一般还是用 return Content】.例子如下:


控制器中 如果要返回Json格式结果   ,如果程序中得到的是一个对象 用 return Json();  返回序列化的对象   

网路请求中返回的是:[{"Name":"张三","Age":15},{"Name":"李四","Age":16}]

但是 ,如果是手拼的字符串格式的json【已经是json格式】 就要用return content(); 返回   

而不能用return json () 返回

例如 程序中字符串为 string str="[{\"Name\":\"张三\",\"Age\":15},{\"Name\":\"李四\",\"Age\":16}]";   如果用return json()  返回的还是"[{\"Name\":\"张三\",\"Age\":15},{\"Name\":\"李四\",\"Age\":16}]";

【有外面的引号 有反斜线】这时候前台需要JSON.parse() 转化一下才能用  

但是如果字用 return content();返回  那么久变成了[{"Name":"张三","Age":15},{"Name":"李四","Age":16}]  不需要序列化即可使用

2、默认控制器中返回json的时候的return Json();方法是不允许get请求 只允许post请求的  ,如果需要允许post请求 ,需要加第二个参数 JsonRequestBehavior.AllowGet

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值