반응형

웹 프로젝트 내에서 또는 aJax 사용 시 데이터 교환 방식으로

많이 쓰이는 jsonObject, jsonArray 사용법에 대해 알아보겠습니다.

 

json이란?

  • 경량화 자료 표현 방법중 하나로 다양한 언어에서 사용할 수 있음.
  • Map과 비슷하며 Name과 Value형태로 값을 저장할 수 있음
  • Client단에서 Javascript를 이용한 Ajax에서 많이 사용됨
  • 가독성이 좋으며 언어에 독립적
  • Ojbect, Array 형태로 사용할 수 있음

 

사용방법

https://sourceforge.net/projects/json-lib/files/json-lib/

 

Json-lib - Browse /json-lib at SourceForge.net

Trusted by thousands of teams, Jira offers access to a wide range of tools for planning, tracking, and releasing world-class software, capturing and organizing issues, assigning work, and following team activity. It also integrates with leading developer t

sourceforge.net

위의 사이트에서 최신 버전의 json 라이브러리를 다운로드합니다.

그리고 해당 라이브러리를 json을 사용할 프로젝트 내에 적용시켜 줍니다.

그리고 json 사용 시에 필요한 라이브러리가 있는데요.

 

beanutils, collections, lang, logging, ezmorph가 필요합니다.


[Dev/Java] - org/apache/commons/beanutils/DynaBean 에러 해결법

[Dev/Java] - org/apache/commons/collections/map/ListOrderedMap 에러 해결법

[Dev/Java] - org/apache/commons/logging/LogFactory 에러 해결법

[Dev/Java] - java.lang.ClassNotFoundException: net.sf.ezmorph.Morpher 에러 해결법

[Dev/Java] - org/apache/commons/lang/exception/NestableRuntimeException 에러 해결법


예제 소스

public class jsonTest {	
	public static void main(String[] args) throws Exception {

		JSONObject jsonO = new JSONObject();
		JSONObject jsonO2 = new JSONObject();
		
		jsonO.put("ID", "gd.hong");
		jsonO.put("NAME", "홍길동");
		jsonO.put("ADDR", "강남구");
		
		jsonO2.put("ID", "cs.kim");
		jsonO2.put("NAME", "김철수");
		jsonO2.put("ADDR", "송파구");
		
		System.out.println(jsonO);
		System.out.println(jsonO2);
		
		JSONArray ja = new JSONArray();
		ja.add(jsonO);
		ja.add(jsonO2);
		
		for(int i=0; i<ja.size(); i++) {
			JSONObject jo = new JSONObject();
			jo = (JSONObject) ja.get(i);
			
			System.out.println(jo.get("NAME"));
		}
		
	}
}

jsonObject는 데이터를 key, value 형태로 값을 저장할 수 있으며

이 Object 형태의 값은 jsonArray에 저장하여 사용할 수 있습니다.

 

조금 쉽게 이해하려면 jsonObject는 Map, jsonArray는 arrayList라고

이해하시면 조금 이해가 될 수 있습니다.

반응형

+ Recent posts