您的位置:首页 > 编程语言 > Java开发

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的库:



然后这两个注释就会起作用了,举个栗子:

/**
* 增加节点
*
* @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啊? :)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: