您当前的位置: 首页 > 慢生活 > 程序人生 网站首页程序人生
07-SpringMVC的数据响应-回写数据-直接回写json格式字符串(使用jackson响应json字符串于前端)
发布时间:2024-12-29 22:33:26编辑:雪饮阅读()
-
上篇了解了在Spring MVC的控制器中的方法中的两种方式响应字符串于前端。
那么这次了解下json,其实如果能响应普通字符串,json也可以用前面所学的fastjon就是alibaba的那个,但这里是再介绍一个解析json的,用jackson。
首先是将jackjson的相关依赖添加到pom.xml中
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-core</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<version>2.9.0</version>
</dependency>
然后用我们前面实现的一个userDao的实现类,或者任何pojo或者bean都可以,主要是你要保证能有setter和getter,我这里就是少了getter对于我这个userDao的name属性,所以导致最后响应出来的json字符串变成了{}。因为我只设置了name,其它属性没有设置,而name又没有getter方法。
所以我这里就为userDao的实现类多加一个name的getter方法,则完整的这个userDao实现类如:
package com.wzgy.dao.impl;
import com.User;
import com.wzgy.dao.UserDao;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Repository;
import javax.annotation.PostConstruct;
import javax.annotation.PreDestroy;
import java.util.List;
import java.util.Map;
import java.util.Properties;
@Repository("userDao")
public class UserDaoImpl implements UserDao {
private int age;
@Value("${jdbc.driver}")
private String name;
private List<String> strList;
private Map<String, User> userMap;
private Properties properties;
public void setStrList(List<String> strList) {
this.strList = strList;
}
public void setUserMap(Map<String, User> userMap) {
this.userMap = userMap;
}
public void setProperties(Properties properties) {
this.properties = properties;
}
public void setAge(int age) {
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public UserDaoImpl(){
System.out.println("-----UserDaoImpl被创建--------");
}
public void save() {
System.out.println("-----UserDaoImpl save: name:"+name+",age:"+age);
System.out.println("-----UserDaoImpl save: strList:"+strList+",userMap:"+userMap+",properties:"+properties);
}
@PostConstruct
public void init(){
System.out.println("执行了init方法");
}
@PreDestroy
public void destroy(){
System.out.println("执行了destroy方法");
}
public String getName() {
return name;
}
}
那么接下来咱们响应json的控制器中的方法实现如:
@RequestMapping(value = "/save8")
@ResponseBody
public String save8() throws JsonProcessingException {
UserDaoImpl userDao=new UserDaoImpl();
userDao.setName("kasumi");
ObjectMapper objectMapper=new ObjectMapper();
return objectMapper.writeValueAsString(userDao);
}
然后访问如:
http://localhost:8080/untitled-1.0-SNAPSHOT/user/save8
浏览器中输出如:
{"name":"kasumi"}
关键字词:SpringMVC,json,jackson,响应
上一篇:06-SpringMVC的数据响应-回写数据-直接回写字符串(直接响应字符串的两种方式)
下一篇:08-SpringMVC的数据响应-回写数据-返回对象或集合(更简单的方式将对象或集合转换为json字符串返回前端)
相关文章
- 06-SpringMVC的数据响应-回写数据-直接回写字符串(直
- 05-SpringMVC的数据响应-页面跳转-返回ModelAndView3(
- 04-SpringMVC的数据响应-页面跳转-返回ModelAndView形
- 03-SpringMVC的数据响应-页面跳转-返回ModelAndView形
- 13-SpringMVC组件解析-SpringMVC的XML配置解析(资源解
- 12-SpringMVC组件解析-SpringMVC组件扫描(SpringMVC配
- 11-SpringMVC组件解析-SpringMVC注解解(限定http请求
- 08-SpringMVC简介-SpringMVC快速入门代码实现(并解决C
- 08-案例-新增品牌(java端处理前端请求的application j
- 07-案例-查询所有(处理java的fastjson转json缺少字段