API서버에서 데이터를 가져오는 과정에서
JsonArray의 JsonObject 형태로 데이터를 내려받는것을 알게되었다.
둘의 차이는 무엇일까?
우선 Json은 key와 value로 이루어진 데이터의 집합이다.
swift의 dictionary와 비슷하게
둘의 사이를 : 로 구분짓는다.
예를들어
name이라는 key안에 Daesung이라는 value(값)이 저장 되는것이다.
"name" : "Daesung"
데이터가 조금더 많다면 어떻게 될까?
학생들을 Json으로 만들어보자
| name | age | gender |
| 홍길동 | 12 | man |
| 김장미 | 11 | woman |
| 김콩콩 | 16 | man |
위 데이터를 JsonArray로 나타내어 본다.
배열답게 [대괄호]를 활용하여 모든 데이터를 정리하였다.
물론 접근도 index의 순서에 맞게 0, 1, 2등으로 접근한다.
"student" : [{
"name" : "홍길동",
"age" : 12,
"gender" : "man"
}, {
"name" : "김장미",
"age" : 11,
"gender" : "woman"
}, {
"name" : "김콩콩",
"age" : 16,
"gender" : "man"
}]
JsonObject로 나타내어 본다.
각자 다른 key, value묶음끼리는 comma(,)로 구분한다.
{중괄호}를 활용하여 데이터를 구분한다. Array 같은 방법으로 접근이 불가하여 (0, 1, 2...)
Student1, Student2 등으로 구분지어 나타내었다.
"student1" : {
"name" : "홍길동",
"age" : 12,
"gender" : "man"
},
"student2" : {
"name" : "김장미",
"age" : 11,
"gender" : "woman"
},
"student3" : {
"name" : "김콩콩",
"age" : 16,
"gender" : "man"
}
둘의 공통은?
- : 를 활용하여 Key Value를 구분 한다.
- key-value의 묶음간의 구분은 ,(comma)로 한다.
둘의 차이는?
JsonArray
- 배열 형태의 구조를 띄고 있다.
- [대괄호]를 사용하여 값들을 담고 내에서 {}를 활용하여 구분한다.
- 이후 데이터를 꺼낼때 index를 활용하여 꺼낼 수도 있으므로 순서에 대한 고려를 한다.
JsonObject
- {중괄호}를 활용하여 구분한다.
- 배열과 달리 순서가 구분되어있지 않다.
'Swift(IOS)' 카테고리의 다른 글
| [내용정리] Swift - 옵셔널(Optional)이란? (0) | 2022.02.15 |
|---|---|
| [내용정리] Swift - closure(클로저)란? (2/2) (0) | 2022.02.08 |
| [내용정리] Swift - closure(클로저)란? (1/2) (0) | 2022.02.03 |
| [내용정리] Swift - UITableVIew Delegate, DataSource 종류 (0) | 2022.01.26 |
| [내용정리] Swift - 코드로(Programmatically) 검색기능 구현 (0) | 2022.01.13 |