Springboot 接受json 赋值给java 对象
Spring boot接受json赋值给java对象新建模板⼩书匠
写这个东西,⼀⽅⾯是我⾃⼰在做项⽬的时候,对json的使⽤还不是⼗分的熟悉,对spring boot的使⽤也不是很熟悉,但是呢,活总是要⼲的吧。⾃⼰就慢慢的摸索,摸出来了。记录⼀下。⾃⼰最近也在看《Spring 实战》,希望早⽇看完,系统的学习⼀下spring的知识点IDEA
JDK 1.8
Spring boot 1.5.8
之前看了许多的json的教程,但是呢总是觉得看会了,⾃⼰却还是不会⽤。现在我好像有点理解了这个东西,⽤我⾃⼰的话说:Json是⼀种数据格式,可以⽤来表⽰简单数据以及复杂数据。 使⽤Json可以表⽰以下⼏种“东西”:1. 简单数据
呐,这就是简单数据。这个不是重点,所以知道就⾏了。
2. 对象
简单的说,使⽤
{} ⼤括号括起来的就是对象了,对象有属性,有值。就像下⾯这样:
在json这种数据格式中,只要记住⼀点: 属性必须⽤引号("")括起来 3. 数组 还是简单的说,数组就是使⽤ [] 中括号括起来的东西,就像下⾯这样
1. "hello world"
1. {
2. "name":"goodboy",
3. "sex":"男"
4. }
1. {
2. "name":"goodboy",
3. "sex":"男",
4. phones:[
5. {
6. "operator":"中国移动",
7. "phoneNum":"159xxxxxxxx"
8. },
9. {
10. "operator":"中国移动",
11. "phoneNum":"159xxxxxxxx"
12. }
13. ]
14. }
上述就是这个男的有两个电话。
Json的简单介绍就到这⾥了。记住两点,{}括起来的是对象, []括起来的是数组。就可以了,其他的在实践中就会慢慢的理解了。
1、 搭建步骤
这⾥使⽤maven去进⾏搭建,pom如下:
1. <?xml version="1.0" encoding="UTF-8"?>
2. <project xmlns="/POM/4.0.0"
3. xmlns:xsi="/2001/XMLSchema-instance"
4. xsi:schemaLocation="/POM/4.0.0 /xsd/maven-4.0.0.xsd">
5. <modelVersion>4.0.0</modelVersion>
6.
7. <groupId&le</groupId>
8. <artifactId>spring-boot-hello</artifactId>
9. <version>1.0-SNAPSHOT</version>
10. <packaging>jar</packaging>
11.
12. <parent>
13. <groupId>org.springframework.boot</groupId>
14. <artifactId>spring-boot-starter-parent</artifactId>
15. <version>1.5.8.RELEASE</version>
16. </parent>
17.
18. <dependencies>
19. <!-- mvnrepository/artifact/org.springframework.boot/spring-boot-starter-web -->
20. <dependency>
21. <groupId>org.springframework.boot</groupId>
22. <artifactId>spring-boot-starter-web</artifactId>
23. <version>1.5.8.RELEASE</version>
24. </dependency>
25. <!-- mvnrepository/artifact/com.alibaba/fastjson -->
spring framework是什么系统
26. <dependency>
27. <groupId>com.alibaba</groupId>
28. <artifactId>fastjson</artifactId>
29. <version>1.2.40</version>
30. </dependency>
31. </dependencies>
32.
33. <build>
34. <plugins>
35. <plugin>
36. <groupId>org.springframework.boot</groupId>
37. <artifactId>spring-boot-maven-plugin</artifactId>
38. <executions>
39. <execution>
40. <goals>
41. <goal>
42. repackage
43. </goal>
44. </goals>
45. </execution>
46. </executions>
47. </plugin>
48. </plugins>
49. </build>
50. </project>
啊,具体的搭建过程,还是⾃⼰慢慢去其他的博客吧,我这⾥就不说了。然后⼯程的⽬录结构如下:
⼯程⽬录结构
这⾥需要说明⼀点的是,Application.java要放在外⾯,这个外⾯指的是,controller包的外⾯,不然扫描不到。当然放⾥⾯也⾏,出问题也是可以解决的。
2、 代码
主要就是⼀个⼈类Person,这⾥⾯有姓名,性别,住址,以及电话如下所⽰:
1. public class Person {
2. private String name;
3. private String sex;
4. private Address address; // 对象
5. private List<Phone> phones; // 数组
6.
7. // getter setter
8. }
9.
10. public class Address {
11. private String province;
12. private String city;
13. private String county;
14. private String street;
15. // getter setter
16. }
17. public class Phone {
18. private String operator; // 运营商
19. private String phoneNum;
20. // getter setter
21. }
1. //Application.java
2.
3. @SpringBootApplication
4. @RestController
5. public class Application {
6.
7. @RequestMapping("/")
8. String hello(){
9. return"hello";
10. }
11.
12. public static void main(String[] args){
13. SpringApplication.run(Application.class,args);
14. }
15.
16. }
1. @RestController
2. @RequestMapping("/person")
3. public class PersonController {
4. @RequestMapping("getPerson")
5. public Map<String,Object> getPerson(@RequestBody Person person){
6. Map<String,Object> param = new HashMap<String, Object>();
7. String s = Phones().toString();
8. System.out.println(s);
9. param.put("person",person);
10. return param;
11. }
12. }
这⾥使⽤ @RequestBody , 来接受前端传输过来的person对象。
3、 使⽤postman测试
看,按照格式输⼊数据以后,点击send,数据就出来了。去看person,已经由JSON对象变成JAVA对象啦。就可以使⽤person中的数据做⼀些想做的事情了。
测试结果
我写这个主要是为了⾃⼰能够记住这些东西,输出才是最好的记忆⽅式,⾯对的主要还是初学者,各位⼤佬就不要见笑了。所以重点是什么呢?在JSON中 {} 括起来的是对象, [] 括起来的是数组使⽤ @RequestBody 接受JSON对象,只要属性名字与POJO的⼀致,那么数据就会神奇的到了POJO⾥⾯去啦
以上,虽然我是个⼩菜鸟,但是如果⼤家有什么问题,可以留⾔,我会尽可能帮助⼤家。希望⼤神不吝赐教,谢谢。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论