这里使用阿里得JSON工具类 fastjson,比较好用。
内容包括 JSON字符串转java对象,java对象转成JSON格式
1, 首先引入json依赖
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.31</version>
</dependency>
2,把一个json字符串转成java对象
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
String request = "{'id':'123','username':'lm123','userType':'superhero'}";
User requestInfo = JSON.parseObject(request, User.class);
User requestInfo2 = JSONObject.parseObject(request,User.class);
如果传过来的参数是json格式的,可以在方法参数列表内直接将其转成对象
如果返回值是json string 则需要加上注解 @ResponseBody
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
@RequestMapping(value="/apply", method=RequestMethod.POST,
headers = {"content-type=application/json","content-type=application/xml"}) //
@ResponseBody
public String apply(@RequestBody User requestInfo){
//...
return "success";
}
3,把java对象转成json格式的
User user = new User("123","lm123");
String json = JSON.toJSONString(user);