2014.01.02 17:13


private ArrayList<ContentBoardVO> list;


JSONArray jArray = (JSONArray) jObject.get(ServiceConfig.DATA);

Gson gson = new Gson();

Type listType = new TypeToken<ArrayList<ContentBoardVO>>(){}.getType();

list = gson.fromJson(jArray.toString(), listType);


초 간 단 !!

신고
Posted by hoonihoon85 hoonihoon
2012.12.06 13:34

Gson은 json파일을 객체로 변환할수 있게 해주는 구글 라이브러리이다.

그렇다면 일단 라이브러리를 받아 보자

http://code.google.com/p/google-gson/downloads/detail?name=google-gson-2.2.2-release.zip

Gson을 어떻게 사용하는지 나와있는 google 사이트!

https://sites.google.com/site/gson/gson-user-guide

 

Gson에 관한 이슈모음 사이트! 

http://code.google.com/p/google-gson/issues/detail?id=230

What steps will reproduce the problem?
1. Build a gson with setDateFormat
Date date = new Date();
Gson gson = new GsonBuilder().setDateFormat("MM/dd/yyyy").create();
System.out.println(gson.toJson(date));

What is the expected output? What do you see instead?
Expected is "08/27/2010"
Date results in standard format: "Aug 27, 2010 10:21:32 AM"

이런식으로 자세히 나와있습니다. ^^

신고
Posted by hoonihoon85 hoonihoon
2012.12.06 10:33

 

Json은 저장, 텍스트정보 교환하기 위한 문법으로 xml 과 비슷하다.

Json은 XML보다 가볍고, 파싱할 때 더 빠르고 쉽게 사용할 수 있다.

 

아래 코드는 간단하게 만들어본 코드인데 대괄호 [] 는 array 를 나타내고

중괄호 {}는 object를 나타낸다.

[

{"content":"맛있다","date":"2012-12-03 11:14:09.0","id":1,"title":"김연아커피","writer":"김태훈"},

{"content":"맛없다","date":"2012-12-04 09:57:39.0","id":4,"title":"맥심커피","writer":"김태훈"}

]

 

위에는 1개 배열에 2개의 object를 포함한다.

 

거두절미 하고 어떻게 사용되는지 보자.

JSONArray jsonArray = new JSONArray("Json 문법으로string 변수");

 for(int i =0; i< jsonArray.length(); i++) {

jsonArray.getJSONObject(i).getString("id").toString();

jsonArray.getJSONObject(i).getString("title").toString();

jsonArray.getJSONObject(i).getString("content").toString();

jsonArray.getJSONObject(i).getString("writer").toString();

jsonArray.getJSONObject(i).getString("date").toString();

}

object를 증가시키면서 key 값으로 해당 value 값으 가져올 수 있다.

 

정말 간단 하지 않은가?

 

간단하게 사용할 때는 위에 방법이 괜찮지만 코드의 확장성과 유지보수를 쉽게 하기 위해서 다른 방법도 생각해 볼 필요가 있다.  다음 시간에 한번 알아 보도록 하자.

 

 

궁금한것은 질문 주세요. 같이 공부해 가요^^

 

 

 

신고
Posted by hoonihoon85 hoonihoon
2012.12.05 14:27

 

 

 

 http://jsonlint.com/

도움이 되셨다면 댓글 ^^

신고
Posted by hoonihoon85 hoonihoon