REST API 응답에서 null 및 누락 된 키 [닫기]


40

내 응용 프로그램에서 일부 사용자는 우리에게 성을 알려주고 다른 사용자는 그렇지 않습니다. REST API 응답에서 선호되는 본문 :

"널"값으로 :

{"firstName": "Bob",
 "lastName": null}

또는 누락 된 키 :

{"firstName": "Bob"}

답변:


31

비어 있거나 null 값을 제거하십시오.

속성이 선택 사항이거나 비어 있거나 널 (NULL) 값을 갖는 경우, 의미 상 강력한 이유가없는 한 JSON에서 해당 속성을 삭제하는 것이 좋습니다.

{
  "volume": 10,

  // Even though the "balance" property's value is zero, it should be left in,
  // since "0" signifies "even balance" (the value could be "-1" for left
  // balance and "+1" for right balance.
  "balance": 0,

  // The "currentlyPlaying" property can be left out since it is null.
  // "currentlyPlaying": null
}

추가 읽기
Google 스타일 가이드-비어 있거나 null 속성 값
REST API의 JSON 응답에 null 값이 포함되어야합니까?


링크 주셔서 감사합니다, Robert. 따라서 currentlyPlaying일부 응답에 있고 다른 응답이 아닌 경우에도 클라이언트가 키가 있는지 여부를 확인하는 것이 null인지 확인하는 것이 바람직합니까?
— jtmarmon

null그리고 undefined이 거의 자바 스크립트에서 동일한 의미를, 그리고 당신은 모두를 확인할 수 있습니다 사용if (myProperty == null)
— 로버트 하비

실제로 내 경우에는 클라이언트가 java, objective-c 또는 javascript 일 수 있습니다. 두 번째 링크 (API-craft)의 링크는 null이 의미 론적 사용 사례에 적합하지만 대부분 결정을 내려야한다는 것을 나타냅니다 .P 감사 다시
— jtmarmon

단순 : 응용 프로그램이 다른 값을 구별해야하는 경우 서버는 다른 값을 제공해야합니다. 그렇지 않으면 필요하지 않아야합니다. 앱이 존재하지 않는 키, 값으로 빈 문자열이있는 키 및 null 값이있는 키를 구별해야합니까?
— gnasher729

3
이 게시물 의 답변은 null 필드를 제거하지 않아야하는 몇 가지 좋은 이유를 설명합니다.
— Dave New
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.