IT

JSON에 null 값이 포함되어야 함

lottoking 2020. 9. 14. 21:24
반응형

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

반응형