1 JSON Library Dependency 설정
다음과 같이 http://search.maven.org/ 리포지터리로 부터 POM을 설정한다.
<!-- JSON Utility --> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId>json-lib</artifactId> <version>2.4</version> <classifier>jdk15</classifier> </dependency> |
** classifier를 지정하지 않는경우 missing artifact오류가 나서 다운로드가 받아지지 않아서 추가로 설정 하였다.
위 그림과 같이 json-lib-2.4-jdk15.jar 파일이 설정되었는지 확인한다.
JSON 관련 많은 라이브러리들이 있겠지만http://json-lib.sourceforge.net/의 라이브러리가 일반적으로 많이 사용되어 지는것 같다. 필요한 경우 위 웹싸이트에서 문서를 참고할것.
2 Java Object à JSON Object로 전환
package net.sf.code;
import java.util.ArrayList; import java.util.HashMap; import java.util.Map;
import net.sf.json.JSONObject;
public class FileToJson {
/** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub
Map<String, Object> model = new HashMap<String, Object>(); ArrayList<Map<String, String>> list = new ArrayList<Map<String,String>>(); Map<String, String> node; node = new HashMap<String, String>(); node.put("blogurl", "1"); node.put("bloguser", "2"); node.put("blogpass", "3"); node.put("blogid", "4");
list.add(node);
node = null;
model.put("list", list);
JSONObject jsonObject = JSONObject.fromObject(model); System.out.println(jsonObject); }
} |
위의 결과는 다음과 같이 JSON형태로 출력이 될것이다.
{"list":[{"bloguser":"2","blogpass":"3","blogid":"4","blogurl":"1"}]}
3 JSON Object à Java Object
package net.sf.code;
import java.lang.reflect.InvocationTargetException; import java.util.ArrayList; import java.util.HashMap; import java.util.Map;
import org.apache.commons.beanutils.BeanUtils;
import net.sf.json.JSONObject;
public class FileToJson {
/** * @param args * @throws NoSuchMethodException * @throws InvocationTargetException * @throws IllegalAccessException */ @SuppressWarnings("unchecked") public static void main(String[] args) throws IllegalAccessException, InvocationTargetException, NoSuchMethodException { // TODO Auto-generated method stub
String fileContent = "{\"list\":[{\"bloguser\":\"2\",\"blogpass\":\"3\",\"blogid\":\"4\",\"blogurl\":\"1\"}]}";
Map<String, Object> classMap = new HashMap<String, Object>(); JSONObject jsonObject = JSONObject.fromObject(fileContent); //fileContent 에 String 형태의 JSON 을 넣는다 Map<String, Object> model = (Map<String, Object>)JSONObject.toBean(jsonObject, java.util.HashMap.class, classMap);
ArrayList<Object> nodeList = (ArrayList<Object>) model.get("list"); for(Object obj: nodeList){
Map<String, String> mp = BeanUtils.describe(obj);
System.out.println( mp.get("bloguser") ); System.out.println( mp.get("blogpass") ); System.out.println( mp.get("blogid") ); System.out.println( mp.get("blogurl") ); System.out.println( "" ); }
}
}
|
4 Javascript의 JSON관련 설정 및 예제
http://www.json.org/ 에서 JSON 자바스크립트 라이브러리(json2.js)를 받아 페이지에 설정한다.
JSON.parse() , toJSONString()
var result = "{\"a\":0, \"b\":1000, \"c\":\"abc\"}"; var obj = JSON.parse(result); console.log(obj.a + ", " + obj.b+ ", " + obj.c); // returns "0, 100, abc" console.log(obj.toJSONString()); // returns {"a":0,"b":1000,"c":"abc"} |
'Java Tools & Utils' 카테고리의 다른 글
POM J2EE 라이브러리 추가 (0) | 2013.03.10 |
---|---|
이클립스와 Maven 기반의 Spring 설정 (0) | 2013.03.06 |
Unit Test with Easy Mock (0) | 2013.02.26 |