안녕하세요 푸민입니다.
저번 시간에 이어서 이번에는 Json 파싱에 대해서 알아볼게요!
Json 은 Xml에 비해서 굉장히 가볍고 구조가 가독성 편리성 등등등 굉장히 많은 장점을 가지고 있습니다. 그래서 요즘은 대부분 개발에 Json 구조를 많이 사용해요!
기본적으로 Json 구조는 아래와 같습니다.
{ "firstName": "John", "lastName": "Smith", "isAlive": true, "age": 25, "address": { "streetAddress": "21 2nd Street", "city": "New York", "state": "NY", "postalCode": "10021-3100" }, "phoneNumbers": [ { "type": "home", "number": "212 555-1234" }, { "type": "office", "number": "646 555-4567" } ], "children": [], "spouse": null }
- 위키
위와 같이 굉장히 단순하게 대괄호와 중괄호를 사용하여 데이터구조를 표현합니다.
자자 그러면 어떻게 사용하는지 알아볼까요?
JsonFactory jsonFactory = new JsonFactory();
JsonParser jsonParser = jsonFactory.createJsonParser(content);
먼저 JconFactory 를 생성합니다. 이 Factory 는 어딜가나 많이 사용하죠! 바로 디자인 패턴중 하나입니다. ㅎㅎ 그리고나서 JsonFactory 를 이용하여 JsonParser 를 생성합니다. 생성할때는 content 인자값을 넘겨주는데, byte[], InputStream, String, Url, Reader, File 이 들어갈 수 있습니다.
while (jsonParser.nextToken() != JsonToken.END_OBJECT) {
if (jp.getCurrentToken() == JsonToken.VALUE_NULL) {
continue;
}
String fieldName = jsonParser.getCurrentName();
if(fieldName.equals("response")){
text = jsonParser.getText();
}
}
이처럼 while 문을 사용하여 현재 필드의 이름을 들고와서 비교해보고, 값을 가져올수 있습니다. 하지만 요즘에는 Gson 과 같은 오픈 Api 가 굉장히 잘되어 있어요! 클래스를 만들어 놓고 매칭시켜서 자동 파싱도 되기에 ㅎㅎ Gson 에 대해서는 다음번에 쓰도록 하겠습니다~
'Development > Android' 카테고리의 다른 글
[안드로이드] String Format 사용시 주의사항 (0) | 2015.10.02 |
---|---|
[안드로이드] Android 뷰이미지 캡처 (0) | 2015.10.01 |
[안드로이드][Xml] Xml 파싱 DOM (0) | 2015.09.29 |
[안드로이드][XML] Xml 파싱 SAX XmlPullParser (0) | 2015.09.26 |
[안드로이드] 시간 카운트 하기 (0) | 2015.09.25 |
댓글