JSON에서 빈 대 늘의 표기법은 무엇입니까?
대부분의 프로그래밍 시나리오에서는 요소가 0일 때 빈 컬렉션이 null 컬렉션보다 우선한다는 것을 알고 있습니다.그러나 JSON(JavaScript 등)을 사용하는 대부분의 언어에서는 빈 목록/오브젝트는 true로, 늘은 false로 처리됩니다.예를 들어, 이것은 JavaScript의 true와 객체입니다.
{
"items_in_stock": {"widgets":10, "gadgets": 5}
}
하지만 이 또한 사실이다.
{
"items_in_stock": {}
}
그리고 이것은 거짓이다.
{
"items_in_stock": null
}
JSON의 빈 객체/목록에 대한 규약이 있습니까?숫자, 불란, 문자열은 어떻게 되나요?
빈 어레이를 반환하는 것이 좋습니다.[]예상되는 반환 유형이 배열인 경우.이것에 의해, json 의 수신자는, 최초로 늘을 확인할 필요 없이, 그 값을 곧바로 어레이로서 취급할 수 있게 됩니다.오픈 클로즈드브레이스를 사용하여 빈 객체에 대해서도 마찬가지입니다.{}.
문자열, 부항 및 정수는 '빈' 형식이 없으므로 null 값을 사용해도 됩니다.
이것은 조슈아 블록스의 훌륭한 저서 "유효한 자바"에서도 다루어진다.여기에서는 매우 뛰어난 범용 프로그래밍 프랙티스에 대해 설명합니다(다른 프로그래밍 언어에도 적용되는 경우가 많습니다).null 대신 빈 컬렉션을 반환하는 것도 그 중 하나입니다.
여기 그의 책의 그 부분에 대한 링크가 있다.
http://jtechies.blogspot.nl/2012/07/item-43-return-empty-arrays-or.html
"JSON에는 null이라는 특별한 값이 있으며 어레이, 객체, 숫자 및 부울 유형을 포함한 모든 유형의 데이터에 대해 설정할 수 있습니다."
"JSON 빈 개념은 어레이 및 개체에 적용됩니다.데이터 개체에 빈 목록 개념이 없습니다.따라서 이러한 속성에 대한 데이터 개체에 대한 작업은 수행되지 않습니다."
여기 제 정보원이 있습니다.
우리가 사례를 구별하기를 원하는지에 대한 질문이 있습니다.
"phone" : " = 값이 비어 있습니다.
"phone" : null = "phone" 값이 아직 설정되지 않았습니다.
차별화를 원한다면 null을 사용합니다.그렇지 않으면 "is Assigned"와 같은 새 필드를 추가해야 합니다.이것은 오래된 데이터베이스 문제입니다.
빈 컬렉션에 대한 빈 어레이 및null다른 모든 것에 대해서요.
언급URL : https://stackoverflow.com/questions/9619852/what-is-the-convention-in-json-for-empty-vs-null
'codememo' 카테고리의 다른 글
| ng-syslog는 시작 인덱스를 지정합니다. (0) | 2023.03.09 |
|---|---|
| JSON 개체를 Custom C# 개체로 변환하는 방법 (0) | 2023.03.09 |
| 앱 시작 시 AngularJS 로드 구성 (0) | 2023.03.09 |
| 스프링 부트 구성에서 올바른 MySQL JDBC 시간대를 설정하는 방법 (0) | 2023.03.04 |
| 리액트 리듀스: 리듀서 조합:예기치 않은 키 (0) | 2023.03.04 |