设置响应方式
java 服务器后端响应 json 有 2 种方式
1.直接设置 response 为 text/html
response.setContentType("text/html;charset=utf-8");
此方法,需要在 前端的 ajax 中设置最后一个参数为 json
2.直接设置 response 为 application/json
response.setContentType("application/json;charset=utf-8");
此方法,前端不需要指定,ajax 会根据 MIME 格式自动判断。
响应Json到客户端
这里仅做一个示例, 当查询的用户为空时返回一个错误消息
//5.如果返回是null,则返回一个json错误消息
//5.1 设置错误消息对象
Message msg = new Message("用户名或密码错误");
//5.2 创建JsonMapper对象
ObjectMapper mapper = new ObjectMapper();
//5.3 把消息对象转换为json字符串, 并传递到客户端
mapper.writeValue(response.getWriter(),msg);
如果使用 writeValueAsString, 可以分成 2 步, 先得到json,再写回
- String json = mapper.writeValueAsString(msg);
- response.getWriter().write(json);