programing

리스트/어레이가 유효한 JSON입니까?

skycolor 2023. 3. 13. 20:19
반응형

리스트/어레이가 유효한 JSON입니까?

JSON 오브젝트 목록을 제공하는 웹 서비스를 작성하고 싶습니다.다음 항목을 반환하는 것이 유효한 JSON입니까?

[
  {"keyA1":"valA", "keyB1":"valB"}
 ,{"keyA2":"valA", "keyB2":"valB"}
 ,{"keyA3":"valA", "keyB3":"valB"}
]

또는 "올바른" 방법으로 단일 개체에 저장하여 반환할 수 있습니다.

{"elements":[
   {"keyA1":"valA", "keyB1":"valB"}
  ,{"keyA2":"valA", "keyB2":"valB"}
  ,{"keyA3":"valA", "keyB3":"valB"}
]}

두 양식 모두 유효합니다.단, API는 두 번째 폼을 추천합니다.그 이유는 API를 확장할 수 있는 경로를 제공하기 때문입니다.

예를 들어 API가 있는 경우getUsersInGroup사용자 객체 배열을 반환하고 나중에 반환되는 사용자에 대한 집계 통계를 포함하기로 결정하면 기존 클라이언트를 중단하거나 각 사용자 개체에 다중 데이터를 많이 포함시키지 않고는 쉬운 방법이 없습니다.개체를 사용할 경우 다른 필드를 개체에 추가하면 됩니다. 이 필드는 이전 버전의 API에서 클라이언트에 의해 무시됩니다.

즉, API에서 가능한 한 최상위 프리미티브를 사용하지 않도록 하십시오. 그러면 향후 확장하기가 더 쉬워질 것입니다.

둘 다 유효한 JSON이지만 두 번째 방법은 정확합니다. JSON을 어레이로 전달하면 보안 취약성이 발생할 수 있습니다.자세한 내용은 JSON 보안 관련 게시물을 참조하십시오.플라스크와 같은 일부 프레임워크에서는 JSON을 배열로 전달할 수 없도록 하는 조치도 있습니다.

JSON은 http://jsonlint.com/을 사용하여 검증할 수 있습니다.

둘 다 유효한 JSON 결과이지만 두 번째 결과를 사용합니다.좀 더 논리적이고 설명적이죠.

언급URL : https://stackoverflow.com/questions/19623339/is-a-list-array-valid-json

반응형