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小时内删除。