Spring boot接受json赋值给java对象
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring boot接受json赋值给java对象相关的知识,希望对你有一定的参考价值。
Spring boot接受json赋值给java对象
前言
写这个东西,一方面是我自己在做项目的时候,对json的使用还不是十分的熟悉,对spring boot的使用也不是很熟悉,但是呢,活总是要干的吧。自己就慢慢的摸索,摸出来了。记录一下。自己最近也在看《Spring 实战》,希望早日看完,系统的学习一下spring的知识点
环境
- IDEA
- JDK 1.8
- Spring boot 1.5.8
JSON简单介绍
之前看了许多的json的教程,但是呢总是觉得看会了,自己却还是不会用。现在我好像有点理解了这个东西,用我自己的话说:Json是一种数据格式,可以用来表示简单数据以及复杂数据。
使用Json可以表示以下几种“东西”:
- 简单数据
- "hello world"
呐,这就是简单数据。这个不是重点,所以知道就行了。
2. 对象
简单的说,使用 {}
大括号括起来的就是对象了,对象有属性,有值。就像下面这样:
- {
- "name":"goodboy",
- "sex":"男"
- }
在json这种数据格式中,只要记住一点: 属性必须用引号("")括起来
3. 数组
还是简单的说,数组就是使用 []
中括号括起来的东西,就像下面这样
- {
- "name":"goodboy",
- "sex":"男",
- phones:[
- {
- "operator":"中国移动",
- "phoneNum":"159xxxxxxxx"
- },
- {
- "operator":"中国移动",
- "phoneNum":"159xxxxxxxx"
- }
- ]
- }
上述就是这个男的有两个电话。
Json的简单介绍就到这里了。记住两点,{}
括起来的是对象, []
括起来的是数组。就可以了,其他的在实践中就会慢慢的理解了。
Spring boot项目的搭建
1、 搭建步骤
这里使用maven去进行搭建,pom如下:
- "1.0" encoding="UTF-8" xml version=
- <project xmlns="http://maven.apache.org/POM/4.0.0"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
- <modelVersion>4.0.0</modelVersion>
-
- <groupId>springboot.example</groupId>
- <artifactId>spring-boot-hello</artifactId>
- <version>1.0-SNAPSHOT</version>
- <packaging>jar</packaging>
-
- <parent>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-parent</artifactId>
- <version>1.5.8.RELEASE</version>
- </parent>
-
- <dependencies>
- <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-web -->
- <dependency>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-starter-web</artifactId>
- <version>1.5.8.RELEASE</version>
- </dependency>
- <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson -->
- <dependency>
- <groupId>com.alibaba</groupId>
- <artifactId>fastjson</artifactId>
- <version>1.2.40</version>
- </dependency>
- </dependencies>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.springframework.boot</groupId>
- <artifactId>spring-boot-maven-plugin</artifactId>
- <executions>
- <execution>
- <goals>
- <goal>
- repackage
- </goal>
- </goals>
- </execution>
- </executions>
- </plugin>
- </plugins>
- </build>
- </project>
啊,具体的搭建过程,还是自己慢慢去找其他的博客吧,我这里就不说了。然后工程的目录结构如下:
这里需要说明一点的是,Application.java要放在外面,这个外面指的是,controller包的外面,不然扫描不到。当然放里面也行,出问题也是可以解决的。
2、 代码
主要就是一个人类Person,这里面有姓名,性别,住址,以及电话如下所示:
- public class Person {
- private String name;
- private String sex;
- private Address address; // 对象
- private List<Phone> phones; // 数组
-
- // getter setter
- }
-
- public class Address {
- private String province;
- private String city;
- private String county;
- private String street;
- // getter setter
- }
- public class Phone {
- private String operator; // 运营商
- private String phoneNum;
- // getter setter
- }
- //Application.java
-
- public class Application {
-
- "/")
- String hello(){
- return "hello";
- }
-
- public static void main(String[] args){
- SpringApplication.run(Application.class,args);
- }
-
- }
- "/person")
- public class PersonController {
- "getPerson")
- public Map<String,Object> getPerson(@RequestBody Person person){
- Map<String,Object> param = new HashMap<String, Object>();
- String s = person.getPhones().toString();
- Spring Boot REST 应用程序应该接受并生成 XML 和 JSON
小马哥-Java 微服务实践 - Spring Boot 系列-01Java 微服务实践 - Spring Boot 系列初体验
Spring Boot - Json RequestBody,带/不带引号的字符串/枚举