> Java > java지도 시간 > 본문

Spring Boot에서 JSON 데이터를 반환하는 방법 소개(예제 포함)

不言
풀어 주다: 2018-12-14 09:55:27
앞으로
3112명이 탐색했습니다.

이 글은 Spring Boot에서 JSON 데이터를 반환하는 방법을 소개합니다(예제 포함). 참고할 만한 가치가 있으니 도움이 필요한 친구에게 도움이 되길 바랍니다

웹 프로젝트에서 JSON 데이터는 상호 작용의 일반적인 형태이며 Spring Boot에서는 모두 매우 간단합니다. 참 쉽죠!!!

JSON 데이터를 어떻게 반환하나요?

Spring Boot에서 JSON 데이터를 반환하는 것은 다음 단계만큼 간단합니다.

종속성 추가

<parent>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-parent</artifactid>
    <version>2.0.4.RELEASE</version>
</parent>

<dependency>
    <groupid>org.springframework.boot</groupid>
    <artifactid>spring-boot-starter-web</artifactid>
</dependency>
로그인 후 복사

Spring Boot와 함께 제공되어야 하는 상위 종속성 외에도 모든 JSON을 자동으로 포함하는 spring-boot-starter-web 패키지만 추가하면 됩니다. 처리 패키지는 아래와 같습니다. spring-boot-starter-web 包即可,它会自动包含所有 JSON 处理的包,如下图所示。

Spring Boot에서 JSON 데이터를 반환하는 방법 소개(예제 포함)

返回 XML 数据格式定义

1)定义返回方式

在 Controller 类上面用 @RestController 定义或者在方法上面用 @ResponseBody 定义,表明是在 Body 区域输出数据。

下面是使用示例:

@RestController
public class JsonTest {

    @GetMapping(value = "/user/{userId}")
    public User getUserInfo(@PathVariable("userId") String userId) {
        User user = new User("Java技术栈", 18);
        user.setId(Long.valueOf(userId));
        return user;
    }

}
로그인 후 복사
2)自定义输出格式

上面的方法直接返回对象,对象会自动转换为 XML 格式,不过是默认的标签,可以通过以下标签进行自定义 XML 格式。

public class User {

    @JsonProperty("user-name")
    private String userName;

    private Long id;

    private Integer age;

    @JsonIgnore
    private String address;

    @JsonInclude(JsonInclude.Include.NON_NULL)
    private String memo;
    
    // get set 略
    
}
로그인 후 복사

程序输出:

{"id":1,"age":18,"user-name":"Java技术栈"}
로그인 후 복사

上面演示了几个常用的注解。

@JsonProperty: 可用来自定义属性标签名称;

@JsonIgnore: 可用来忽略不想输出某个属性的标签;

@JsonInclude: 可用来动态包含属性的标签,如可以不包含为 null 值的属性;

更多注解可以查看这个包:

Spring Boot에서 JSON 데이터를 반환하는 방법 소개(예제 포함)

如何手动完成对象 和 Json 的互转?

jackson-databind 包里面有一个 com.fasterxml.jackson.databind.ObjectMapper

Spring Boot에서 JSON 데이터를 반환하는 방법 소개(예제 포함)

반환 XML 데이터 형식 정의

1) 반환 방법 정의 h5 >

@RestController를 사용하여 Controller 클래스에 정의하거나 @ResponseBody를 사용하여 메서드에 정의하여 Body 영역에 데이터가 출력됨을 나타냅니다.

🎜다음은 사용 예입니다. 🎜
ObjectMapper objectMapper = new ObjectMapper();

String userJsonStr = objectMapper.writeValueAsString(user);

User jsonUser = objectMapper.readValue(userJsonStr, User.class);
로그인 후 복사
2) 사용자 정의 출력 형식
🎜위 메서드는 개체를 직접 반환하며 개체는 자동으로 XML 형식으로 변환되지만 기본 태그입니다. , 다음 태그를 통해 사용자 정의할 수 있습니다. XML 형식을 정의합니다. 🎜rrreee🎜프로그램 출력: 🎜rrreee🎜 일반적으로 사용되는 몇 가지 주석이 위에 설명되어 있습니다. 🎜🎜🎜@JsonProperty: 🎜는 속성 태그 이름을 사용자 정의하는 데 사용할 수 있습니다. 🎜🎜🎜@JsonIgnore: 🎜는 특정 속성을 출력하지 않으려는 태그를 무시하는 데 사용할 수 있습니다. 🎜🎜🎜@JsonInclude: 🎜를 사용할 수 있습니다. 속성에 대한 태그를 동적으로 포함하려면 null 값이 있는 속성을 포함해야 합니다. 🎜🎜더 많은 주석을 보려면 다음 패키지를 확인하세요. 🎜

Spring Boot에서 JSON 데이터를 반환하는 방법 소개(예제 포함) span>🎜

객체와 Json 간의 변환을 수동으로 수행하는 방법은 무엇입니까?

🎜jackson-databind 패키지에는 객체와 Json 데이터의 상호 변환을 완료할 수 있는 com.fasterxml.jackson.databind.ObjectMapper 클래스가 있습니다. 다음은 간단한 협업 예시입니다. 🎜rreee🎜🎜

위 내용은 Spring Boot에서 JSON 데이터를 반환하는 방법 소개(예제 포함)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:segmentfault.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿