2014. 12. 9. 23:32ㆍ프로그래밍/Java
simple json 사용
list의 값을 그대로 json.put 을 해버리면
값을 받는쪽에서 parse 할 수가 없다.
때문에.. JSONArray 에 값을 다시 셋팅해줘야 정상적으로 값을 parse 할 수 있다.
===Send Json=======================================================================
List<Test> resultList = new List<Test>();
JSONArray jArray = new JSONArray();
//결과 리스트 만큼 loop 를 돌면서 json 에 값을 put 해주고, 그 json 값을 다시 Json Array에 add해준다.
for (int i = 0; i < resultList.size(); i++) {
JSONObject data= new JSONObject();
data.put("user_id", resultList.get(i).getUser_id());
jArray.add(i, data);;
}
obj.put("resultList", jArray);
==================================================================================
위와 같이 데이터를 셋팅하면 아래와 같은 Json 데이터가 나온다.
{"resultList":[{"user_id":"test1"},{"user_id":"test1"},{"user_id":"test1"}]}
참고) List를 그대로 put 해주면 {"resultList":[user_id=test1]} 이런 형식으로 값이 들어가기때문에
parse 가 되질않는다.
===Receive Json======================================================================
받는 쪽에서 아래와 같이 Parse를 해준다.
//parseWithException 파라미터에 받은 string형식의 값을 넣어준다.
JSONObject jsonObject = (JSONObject) JSONValue.parseWithException(jsonData);
JSONArray JsonArray = (JSONArray) genreJsonObject.get("resultList");
//원하는 데이터를 json 에 넣어준다.
JSONObject a = (JSONObject) JsonArray.get(0);
JSONObject b = (JSONObject) JsonArray.get(1);
//출력
System.out.println(a.get("user_id"));
System.out.println(b.get("user_id"));
===================================================================================
'프로그래밍 > Java' 카테고리의 다른 글
[Java/Javascript] 반올림, 올림, 내림 (0) | 2015.03.04 |
---|---|
[Java] 세션 값 확인 (0) | 2014.12.19 |
[Java] 케릭터셋 확인하기 (0) | 2014.12.03 |
[Java] 10진수를 16진수로 변환 (0) | 2014.10.29 |
[Java] 자바에서 IP주소 알아내기 (Windows) (0) | 2014.06.11 |