Spring MVC JSON数据交互-解析和返回JSON
2015-08-02 15:16
441 查看
首先要搭建一个Spring MVC的工程,可以参看我的另一篇博客:http://blog.csdn.net/qq245671051/article/details/47206331
Spring MVC本身就给我们提供了两个注释:@RequestBody和@ResponseBody,但是如果直接用是不起作用的,它依赖了Jackson库,也就是Java处理JSON领域的最强框架(个人观点),所以需要加入Jackson的库:
![](http://img.blog.csdn.net/20150802145844247?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center)
然后这两个注释就会起作用了,举个栗子:
客户端传来JSON:
Spring MVC接收到之后,因为我们在方法的一个形参上加了个@RequestBody注解,它就会自动将JSON数据转换成我们事先定义好的Node这个Java Bean对象,我们就可以直接和对象打交道。然后我们我们用service处理对象,处理结果也通过创建一个Java Bean对象返回,假如Message对象是个Java Bean,拥有 success和msg两个属性,因为方法返回参数上加了个@ResponseBody注解,Spring MVC就会把对象转换成JSON字符串返回给客户端,假如成功就返回:
假如失败就返回:
是不是很Easy啊? :)
Spring MVC本身就给我们提供了两个注释:@RequestBody和@ResponseBody,但是如果直接用是不起作用的,它依赖了Jackson库,也就是Java处理JSON领域的最强框架(个人观点),所以需要加入Jackson的库:
然后这两个注释就会起作用了,举个栗子:
/** * 增加节点 * * @param node * @param writer * @param response */ @RequestMapping(value = "/node", method = RequestMethod.POST) public @ResponseBody Message createNode(@RequestBody Node node) { try { nodeService.create(node); return new Message(true, "创建成功"); } catch (NodeCreationFaildException e) { return new Message(false, "创建失败"); } }
客户端传来JSON:
{ name : '新节点2451', parentId : 25411 }
Spring MVC接收到之后,因为我们在方法的一个形参上加了个@RequestBody注解,它就会自动将JSON数据转换成我们事先定义好的Node这个Java Bean对象,我们就可以直接和对象打交道。然后我们我们用service处理对象,处理结果也通过创建一个Java Bean对象返回,假如Message对象是个Java Bean,拥有 success和msg两个属性,因为方法返回参数上加了个@ResponseBody注解,Spring MVC就会把对象转换成JSON字符串返回给客户端,假如成功就返回:
{ success:true, msg:"创建成功" }
假如失败就返回:
{ success:false, msg:"创建失败" }
是不是很Easy啊? :)
相关文章推荐
- JAVA入门基础文章3-类的概念-什么是继承
- java中,数值型Double运算出错问题
- 简单的struts2案例
- Java比较String ==和equals() 解析
- JNI中 Java 中字符串 转换成C中的字符数组方法
- spring配置文件详解
- Web Service学习-CXF与Spring整合为JavaEE应用发布WebService(三)
- Java:注解(Annotation)自定义注解入门
- @interface java注解
- java 自动拆箱的陷阱
- JDK环境配置
- java编程的一些建议
- Exception in thread "main" java.lang.UnsupportedClassVersionError
- 用 Spring Security 4+Spring MVC+Spring4 构建健壮且安全的web应用
- Java Metrics
- 菜鸟学Struts——I18N对国际化的支持
- Oauth2.0 用Spring-security-oauth2 非常简单
- Reflections让Java的反射更得简单
- 定制Eclipse IDE之杂症篇
- java设计原则