JSON에 null 값이 포함되어야 함 [닫힘]
결과를 JSON으로 반환하는 API를 만들 수 있습니다. 값이 null 일 때 결과에 키를 포함하는지 여부에 대한 현재 모범 사례가 결과에 있습니까? 예를 들면 :
{
"title":"Foo Bar",
"author":"Joe Blow",
"isbn":null
}
또는
{
"title":"Foo Bar",
"author":"Joe Blow"
}
두 번째가 더 작기 때문에이 스타일로 기울고 선호하는 스타일이 있는지 여부는 확실하지 않습니다. 클라이언트의 관점에서 보면 두 스타일이 기능적으로 될 것입니다. 각각의 장단점은 무엇입니까?
두 번째 방법은 약간만 절약 할 수있는 경우 JSON을 키로 채우는 대신 배열을 사용할 수도 있습니다. 분명히 ["Foo Bar","Joe Blow"]
지금 가지고있는 것보다 훨씬 짧습니다.
사용성 높은 곳에서는 차이가 있습니다. 두 경우 모두 if(json.isbn)
는 else
. 일반적으로 null
(값 없음)과 undefined
(주어진 값 없음 ) 을 구분할 필요가 없습니다.
나는 의미를 전달하는 것을 항상 null을 명시 적으로 포함하는 팬입니다. 속성을 생략하면 모호함이 남습니다.
서버와의 프로토콜이 위의 항목 중 하나에 동의하는 한 작동 할 수있는 서버에서 null을 전달하면 나중에 API를 더 만들 수 있다고 생각합니다.
또한 자바 펼쳐지는 hasOwnProperty 함수가 더 많은 것을 제공합니다.
/* if true object DOES contain the property with *some* value */
if( objectFromJSON.hasOwnProperty( "propertyName" ) )
/* if true object DOES contain the property and it has been set to null */
if( jsonObject.propertyName === null )
/* if true object either DOES NOT contain the property
OR
object DOES contain the property and it has been set to undefined */
if( jsonObject.propertyName === undefined )
자바 펼쳐에 null
비해 매우 다른 것을 의미한다 undefined
.
JSON 출력은 JSON 데이터 사용의 특정 것을 포함해야합니다.
null
와 구분할 필요가있는 경우 반드시 포함해야합니다. undefined
왜냐하면 자바 펼쳐에서 두 가지 다른 의미를 가지고 있기 때문입니다. null
이 알려지지 않았 속성거나 의미가 없음 undefined
을 의미하고 속성이 존재하지 않는다는 의미 로 생각할 수 있습니다 .
다른 한편으로, 누구든지 그 구별을 할 필요가 있는지 그것으로 그것을 생략하십시오.
사용자 경험있는 데이터로 JSON을 사용할 때 차이가 있다고 생각합니다.
사용자가 직접 편집해야하는 경우 JSON 구성 파일에 차이가 나타납니다. 첫 번째 예제를 사용할 때 사용자에게 구성에 대한 힌트를 제공합니다.
참고 URL : https://stackoverflow.com/questions/11003424/should-json-include-null-values
'IT' 카테고리의 다른 글
JSF 2에서 faces-config.xml을 사용하는 것은 무엇입니까? (0) | 2020.09.14 |
---|---|
자바 펼쳐 querySelector 대 getElementById (0) | 2020.09.14 |
Tesseract와 OpenCV 중에서 무엇을 선택합니까? (0) | 2020.09.14 |
DPI 설정 (예 : 150 %)이 높은 컴퓨터에서 실행 실행 앱을 구성하는 방법은 무엇입니까? (0) | 2020.09.14 |
nextTick 대 setImmediate, 설명 설명 (0) | 2020.09.14 |