>  Q&A  >  본문

java - spring이 json을 반환할 때 null 또는 빈 값이 반환되는지 확인하는 방법은 무엇입니까?

spring에서 제공하는 @ResponseBody를 사용하면 json 객체를 반환하는 것이 매우 편리합니다.

그러나 한 가지 문제는 @ResponseBody会返回empty("")还是null,题主大致观察了一下。好像对于java中的String不管是null还是"",最终通过json返回的都是"",而对于Object,都会返回null,而对于int型数据都会返回0가 공백("")을 반환할지 아니면 null을 반환할지 판단하는 것이 불가능하다는 것입니다. 질문자는 대략적으로 관찰했습니다. Java의 String의 경우 null이든 ""이든 관계없이 json을 통해 최종적으로 반환되는 것은 ""인 반면 Object의 경우 이면 null이 반환되고 int 유형 데이터의 경우 0이 반환됩니다.

위의 결론이 맞나요?

ringa_leeringa_lee2658일 전926

모든 응답(3)나는 대답할 것이다

  • 阿神

    阿神2017-06-14 10:53:24

    이것은 pojo의 인스턴스 변수 유형 및 사용된 json 라이브러리와 관련이 있습니다(json 라이브러리는 null 처리 방법을 설정할 수 있음)

    회신하다
    0
  • phpcn_u1582

    phpcn_u15822017-06-14 10:53:24

    1. POJO를 반환할 때 코드, 메시지 및 데이터가 포함된 JSONResult 클래스로 비즈니스 데이터를 캡슐화할 수 있습니다. Data는 비즈니스 데이터(즉, POJO 인스턴스)이고, code는 상태입니다. code이고 msg는 설명이므로 비즈니스 데이터로 사용할 수 있습니다. 비어 있는 경우 오류 코드만 반환하면 반환된 결과는 여전히 인터페이스 호출자가 처리하기에 편리한 json 형식 데이터입니다. .

    2. JSON 형식 데이터를 직접 반환하고, fastjson 또는 net.sf.json을 사용하여 JSONObject 개체를 직접 반환하고, 비즈니스 데이터를 JSONObject 개체에 수동 또는 자동으로 채웁니다.

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-06-14 10:53:24

    Jackon 라이브러리를 사용하는 경우 pojo에 @JsonSerialize(include = JsonSerialize.Inclusion.NON_NULL)를 주석으로 추가할 수 있습니다. 이 경우 특정 속성 값이 null 또는 ""인 경우 직렬화 시 키가 포함되지 않습니다. json

    회신하다
    0
  • 취소회신하다