ajax请求依赖的类,springmvc响应ajax数据请求返回json数据

简单的说,就是要实现java对象转化为json对象,下面采取两种实现方法,一种是fastjson解析器,另外一种爱用jackjson

一、采用fastjson结合springmvc的方式

1、引入依赖

5.0.2.RELEASE

UTF-8

1.8

1.8

org.springframework

spring-context

${spring.version}

org.springframework

spring-web

${spring.version}

org.springframework

spring-webmvc

${spring.version}

javax.servlet

servlet-api

2.5

provided

javax.servlet.jsp

jsp-api

2.0

provided

org.springframework

spring-core

${spring.version}

com.fasterxml.jackson.core

jackson-databind

2.9.0

com.alibaba

fastjson

1.2.47

com.fasterxml.jackson.core

jackson-core

2.9.0

com.fasterxml.jackson.core

jackson-annotations

2.9.0

com.fasterxml.jackson.dataformat

jackson-dataformat-xml

2.9.8

junit

junit

4.10

2、编写实体类

private String name;

private int age;

private String password;

@JSONField(format = "yyyy-MM-dd")

@DateTimeFormat(pattern = "yyyy-MM-dd")

@JsonFormat(pattern = "yyyy-MM-dd")

private Date date;

3、编写controller控制代码

/**

* 返回java对象

* @param student

* @return

*/

@RequestMapping("/testAjax")

@ResponseBody

public Student testAjax( Student student) {

System.out.println("testAjax is working");

student.setName("tom");

student.setAge(23);

student.setPassword("123456");

student.setDate(new Date());

System.out.println(student);

return student;

}

4、在springmvc中编写配置json解析代码

application/json;charset=UTF-8

5、在response.jsp中发送ajax请求数据

$.getJSON("/user/testAjax",function (data) {

console.log(data);

})

测试代码:

aa47b0d294e52245a0cda5a0f01d9b3b.png

二、采用jackjson的方式

1、导入依赖如上相同

2、创建实体类

也就是在之前springmvc中表单提交的时候封装对象的问题,遇见日期类型解决404的问题解决方案一

@DateTimeFormat(pattern = "yyyy-MM-dd")

private Date brithday;

private String name;

private int age;

private String password;

@JSONField(format = "yyyy-MM-dd")

@DateTimeFormat(pattern = "yyyy-MM-dd")

@JsonFormat(pattern = "yyyy-MM-dd")

private Date date;

3、编写测试代码

@Test

public void test1() throws Exception{

Man man = new Man();

man.setName("陈多多");

man.setAddress("重庆合川");

man.setBrithday(new Date());

Man man1 = new Man();

man.setName("陈多多");

man.setAddress("重庆合川");

man.setBrithday(new Date());

Man man2 = new Man();

man.setName("陈多多");

man.setAddress("重庆合川");

man.setBrithday(new Date());

//创建list集合转为json

List ps = new ArrayList();

ps.add(man);

ps.add(man1);

ObjectMapper objectMapper = new ObjectMapper();

String value = objectMapper.writeValueAsString(ps);

System.out.println(value);

}

@Test

public void test3() throws Exception{

Map map = new HashMap();

map.put("name","陈多多");

map.put("age",23);

map.put("address","重庆合川");

ObjectMapper objectMapper = new ObjectMapper();

String value = objectMapper.writeValueAsString(map);

System.out.println(value);

}

}

测试结果如下:

list集合转化出来是一个数组对象,map结合转化出来和java对象一致

7586fbe1d8fb02a27dc29e937db447b5.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值