리스트/어레이가 유효한 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
'programing' 카테고리의 다른 글
메서드 매개 변수에서 WCF webHttpBinding 오류가 발생했습니다."래퍼 요소 없이 최대 하나의 본문 매개 변수를 직렬화할 수 있습니다." (0) | 2023.03.13 |
---|---|
Woocommerce, 현재 제품 ID 가져오기 (0) | 2023.03.13 |
Axios 가로채기 및 비동기 로그인 (0) | 2023.03.13 |
Spring Boot Application 내부 구조 (0) | 2023.03.13 |
다른 ng뷰에 데이터를 전달하고 컨트롤러 간에 데이터를 유지할 수 있는 우수한 설계 (0) | 2023.03.13 |