json이란?
https://brunch.co.kr/@henen/25
이전 강좌의 결과 형식을 안드로이드에서 지원하는 JSON형식으로 파싱하는 법을 알아보겠습니다.
그렇다면 JSON이란 것은 무엇이고 왜 생겨났는지를 먼저 알아야할것같습니다.
javascript Object Notation의 약자로 자바스크립트 객체 형식입니다.
EX)JSON형식 예제
{"employees":[
{ "firstName":"John", "lastName":"Doe" },
{ "firstName":"Anna", "lastName":"Smith" },
{ "firstName":"Peter", "lastName":"Jones" }
]}
예를 들어서
1 홍길동 010-1234-5678
2 홍길동 010-1211-1234
3 홍길동 010-1234-1234
이 데이터를 httpRequest나, txt파일에서
읽어와야할때를 생각해봅시다.
1은 순번, 홍길동은 이름 ,010-1234-5678 은 전화번호입니다.
1 ^ 홍길동 ^ 010-1234-567 "엔터"
한줄 한줄은 엔터단위로 읽고 그 안의 각각은 띄어쓰기 단위로 읽어서 저장을 할수있을것입니다.
아니면
1//홍길동//010-12234-5678&&&2//홍길동//010-1234 이런식으로 구분자를 만들어 놓고
이 구분자를 통해 읽을수도 있겠죠
이렇게 데이터를 서로간에 읽을 수있는 포맷이 필요해졌습니다. 그래서
XML이라는 HTML과 비슷한 형식의 포맷이 등장하게됩니다.
XML
<Address>
<Friend>
<no>1</no> <Name>홍길동</Name> <phone>010-1234-5678</phone>
</Friend >
<Friend >
<no>2</no> <Name>홍길동</Name> <phone>010-1211-xxxx</phone>
</Friend >
< Friend >
<no>3</no> <Name>홍길동</Name> <phone>010-1234-yyyy</phone>
</Friend >
</ Address>
특징 :
전반적으로 HTML과 비슷한 구조를 띄고 있다.
유연한 구조를 가지고 있는 것을 볼 수 있다.
어떤 항목 표기가 되어 쉽게 파악할수 있습니다.
XML코드를 보았을 때 문제점
반복되고 낭비되는 Text들이 많이 보인다.
<Address> </Address> <Friend></Friend>.. 시작 때만 표시해도 될 것 같은데.. 반복등장해서
이 때문에 용량이 커지고 그만큼 읽는데 시간이 느릴 것 이다.
그렇다면 이 XML을 저희가 볼 JSON형식으로 확인해볼까요?
Json
{
"Address": {
"Friend": [
{
"no": "1",
"Name": "홍길동",
"phone": "010-1234-5678"
},
{
"no": "2",
"Name": "홍길동",
"phone": "010-1211-xxxx"
},
{
"no": "3",
"Name": "홍길동",
"phone": "010-1234-yyyy"
}
]
}
}
낭비되는 텍스트가 줄었습니다.
비교를 해보면
이렇게 해서 요즘에는 XML 포맷 보다는 JSON 포맷으로 데이터를 전송하고 있습니다.
다음 강의에서는
https://brunch.co.kr/@henen/25
의 데이터를 안드로이드에서 제공하는 기본 JSON Class로 읽어보도록 하겠습니다.