기본 패턴
json
[
{ "id": 1, "name": "Kim" },
{ "id": 2, "name": "Lee" }
]설명
- JSON array는 ordered sequence입니다. 즉 위치와 순서 자체가 데이터 의미의 일부가 될 수 있습니다.
- object는 이름으로 찾는 구조이고, array는 위치로 찾는 구조라고 생각하면 구분이 쉬워집니다.
- array 안에는 서로 다른 타입의 값을 섞을 수는 있지만, 실제 API와 설정에서는 같은 모양의 값을 반복하는 편이 읽기 쉽고 검증도 쉽습니다.
- 목록 데이터, 단계 순서, 정렬 결과처럼 순서가 중요한 경우에는 object보다 array가 더 자연스럽습니다.
- 반대로
"name","email","role"처럼 각 값에 이름이 붙어야 의미가 분명한 경우에는 object가 더 적합합니다.
짧은 예제
json
{
"steps": ["draft", "review", "publish"],
"user": { "name": "Kim", "role": "editor" }
}빠른 정리
| 구조 | 잘 맞는 상황 |
|---|---|
| object | 이름으로 찾는 필드 집합 |
| array | 순서 있는 목록 |
| homogeneous array | 같은 구조의 항목 반복 |
| mixed array | 가능하지만 해석과 검증이 어려워짐 |
주의할 점
순서가 중요한데 object를 쓰거나, 이름이 중요한데 array를 쓰면 읽는 쪽에서 추가 규칙을 기억해야 합니다. JSON 구조는 "소비자가 어떤 기준으로 값을 찾는가"에 맞춰 고르는 편이 좋습니다.
참고 링크
2 sources