返回json用什么注解

返回json用“@ResponseBody”注解,“@ResponseBody”是作用在方法上的,“@ResponseBody”表示该方法的返回结果直接写入“HTTP response body”中。

返回json用什么注解

本篇文章将介绍两种示例进行JSON返回注解方式演示。

示例1

@ResponseBody是作用在方法上的,@ResponseBody 表示该方法的返回结果直接写入 HTTP response body 中,一般在异步获取数据时使用【也就是AJAX】,在使用 @RequestMapping后,返回值通常解析为跳转路径,但是加上 @ResponseBody 后返回结果不会被解析为跳转路径,而是直接写入 HTTP response body 中。 比如异步获取 json 数据,加上 @ResponseBody 后,会直接返回 json 数据。@RequestBody 将 HTTP 请求正文插入方法中,使用适合的 HttpMessageConverter 将请求体写入某个对象。

下面的部分位于Spring-mvc.xml或者dispatcherServlet-servlet.xml中 (Spring 3.0中ServletName-servlet.xml替代了Spring-mvc.xml)

                                                text/plain;charset=UTF-8                                                                                                                              

登录后复制

在对应的Controller中:

@RequestMapping(value="/login",method=RequestMethod.POST)    public @ResponseBody User login(String username,String password){        User user = userService.login(username, password);        return user;    }

登录后复制

这里我使用的jackson包:

(1)jackson-core 2.5.0

(2)jackson-databind 2.5.0

(3)jackson-annotations 2.5.0

导入后build path;

警告:若用hibernate等orm工具生成的pojo类,一对一,对多等关系可能会输出无限循环的json:

需要使用在pojo类中导入com.fasterxml.jackson.annotation.JsonIgnore,并为需要屏蔽的类添加@JsonIgnore注解,这样被注解的属性就不会出现在json中了。

示例2

@ResponseBody      @RequestMapping(value = "/login")      public ModelAndView ajaxLogin(Model model,User user,HttpServletRequest request, HttpSession session){          String errorMessage=loginCommon(model, user, request, session);          Map map=new HashMap();          if(ValueWidget.isNullOrEmpty(errorMessage)){              map.put(Constant2.AJAX_LOGIN_RESULT, "success");          }else{              map.put(Constant2.AJAX_LOGIN_RESULT, "failed");          }          map.put("error", errorMessage);          model.addAttribute("user", null);          return new ModelAndView(new MappingJacksonJsonView(),map);      }

登录后复制

或者 

 model.addAttribute(“user”, user1);  

运行结果:

json.jpg

以上就是返回json用什么注解的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/3044261.html

(0)
上一篇 2025年3月13日 15:14:01
下一篇 2025年3月8日 09:24:15

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • json用什么解析

    json是一种取代xml的数据结构,和xml相比,它更小巧但描述能力却不差,由于它的小巧所以网络传输数据将减少更多流量从而加快速度。 本篇文章将介绍三种json解析方式,供大家参考。 一、JSON解析之传统的JSON解析 1、生成json字…

    2025年3月13日
    200
  • jq是指什么?

    json 是一种轻量级的数据交换格式。jq 是一款命令行下处理 json 数据的工具。下面我将给大家详细介绍一下jq,感兴趣的朋友可以了解一下。 json采用完全独立于语言的文本格式,具有方便人阅读和编写,同时也易于机器的解析和生成。 这些…

    2025年3月13日
    200
  • java判断是否json格式

    java判断是否json格式 JsonObject和JsonArray对象都没有能快速判断json格式合法性的方法,只好使用捕获异常的方式判断json合法性。 代码如下: /** * 判断是JsonObject * @param obj *…

    2025年3月13日
    200
  • ThinkPHP:JSON字段类型的使用(ORM)

    ThinkPHP5.1版本正式发布已经有一段时间了,我会陆续给大家介绍其中的新特性。今天要给大家介绍的是一个可能很多用户还不了解的一个特性:JSON字段数据支持。 不过首先注意一点,本篇内容中描述的JSON字段数据的支持是从V5.1.4+版…

    2025年3月13日
    200
  • yii如何将对象转化为数组或直接输出为json格式

    如何转化为数组? (学习视频分享:编程视频) 我们在使用Yii 的Active Record 来获取查询结果的时候,返回的结果集是一个对象类型。如果我们希望能够更加方便地处理数据,可以将它转成数组返回,比如下面的方法: // 查找满足指定条…

    2025年3月13日
    200
  • 通过PHP快速解码指定JSON字符串

    在上一篇文章中我给大家介绍了怎么用无序列表的方式显示php数组中的值,感兴趣的朋友可以戳->《教你用无序列表的方式显示php数组中的值》。 本文给大家介绍一个新的小知识,就是通过PHP代码解码指定的JSON字符串。 首先看一下JSON…

    2025年3月13日
    200
  • 我们如何使用Java中的JsonGenerator创建一个JSON呢?

    JsonGenerator是一个基类,定义了用于写入JSON内容的公共API。实例是使用JsonFactory实例的工厂方法创建的。一旦我们可以从工厂实例获取JsonGenerator,就可以使用writeStartObject()方法写入…

    2025年3月13日
    200
  • 我们如何在Java中将地图转换为JSON对象?

    JSON是一种轻量级、基于文本且与语言无关的 >数据交换格式。 JSON 可以表示两种结构化类型,例如对象和数组。对象是无序键/值对的集合,数组是有序序列价值观。 我们可以使用 toJSONString() 方法将 Map 转换为 J…

    2025年3月13日
    200
  • 我们如何在Java中解码一个JSON对象?

    JSON是一种轻量级、基于文本和语言无关的数据交换格式。JSON可以表示两种结构化类型,如对象和数组。我们可以使用json.simple API中的JSONObject和JSONArray解码JSON对象。JSONObject作为java.…

    2025年3月13日
    200
  • 在Java中使用Jackson库将JSON转换为Map或将Map转换为JSON?

    JSON Jackson 是一个 Java 库,它具有非常强大的数据绑定功能,并提供了一个将自定义 java 对象序列化为 JSON 以及将 JSON 反序列化回 Java 对象的框架。我们可以转换JSON到/从Map使用com.faste…

    2025年3月13日
    200

发表回复

登录后才能评论