codememo

JSON에서 빈 대 늘의 표기법은 무엇입니까?

tipmemo 2023. 3. 9. 22:04
반응형

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 빈 개념은 어레이 및 개체에 적용됩니다.데이터 개체에 빈 목록 개념이 없습니다.따라서 이러한 속성에 대한 데이터 개체에 대한 작업은 수행되지 않습니다."

여기 제 정보원이 있습니다.

우리가 사례를 구별하기를 원하는지에 대한 질문이 있습니다.

  1. "phone" : " = 값이 비어 있습니다.

  2. "phone" : null = "phone" 값이 아직 설정되지 않았습니다.

차별화를 원한다면 null을 사용합니다.그렇지 않으면 "is Assigned"와 같은 새 필드를 추가해야 합니다.이것은 오래된 데이터베이스 문제입니다.

빈 컬렉션에 대한 빈 어레이 및null다른 모든 것에 대해서요.

언급URL : https://stackoverflow.com/questions/9619852/what-is-the-convention-in-json-for-empty-vs-null

반응형