간단 하고 실 용적 인 Object2JSON 작은 도구: JSONUTil

4570 단어 jsonWebextGoogleIBM
이 도 구 는 자바 대상 을 JSON 형식 으로 출력 하 는 데 사 용 됩 니 다. 작고 실 용적 이 며 인터페이스 가 좋 습 니 다. 벽돌 을 찍 고 지도 하 는 것 을 환영 합 니 다.
1 기본 기능:
1.1
기본 형식 및 포장 류 와 Date 의 해석 을 지원 합 니 다.
1.2
지정 한 관련 관계 클래스 의 해석 지원
1.3
배열, List 분석 지원
1.4
끼 워 넣 기 클래스 무시 지원 (설명 3.2 참조)
2 기본 호출 방법:
JSONUtil.object2JSON(object,stringBuffer,new Class[]{...});

3 설명:
3.1 아 이 디 어 는 분석 하고 자 하 는 클래스 (new Class [] {...}) 를 분석 한 다음 StringBuffer 를 통 해 출력 하 는 것 입 니 다.
지정 한 것 을 해석 하고 지정 하지 않 으 면 해석 하지 않 습 니 다. 대상 을 자동 으로 해석 할 수 있 고 의미 없 는 데이터 해석 을 줄 일 수 있 으 며 다른 차원 에서 끼 워 넣 지 않 는 것 이 목적 입 니 다. 지정 하지 않 으 면 이렇게 쓸 수 있 습 니 다.
JSONUtil.object2JSON(object,stringBuffer)

3.2 root object 의 유형 은 지정 하지 않 고 내부 속성 만 지정 하면 됩 니 다.
3.3 끼 워 넣 기 가 쉽 지 않 습 니 다. 이미 당신 이 수 동 으로 지정 한 것 이 므 로 끼 워 넣 지 않도록 주의 하 세 요. 그 자체 에 끼 워 넣 은 모델 에 도 문제 가 있 을 수 있 습 니 다.tree nodes 라 도 보통 외부 키 와 연 결 된 parent id 로 처리 합 니 다.그래서 나 는 기본적으로 끼 워 넣 은 처 리 를 포기 하고 네가 처리 할 종 류 를 지정 해서 스스로 주의해 야 한다.
3.4 POJO 에는 setter, getter 이외 의 방법 이 없 는 것 이 좋 습 니 다. 필요 하 다 면 도구 류 에 충분히 쓸 수 있 습 니 다.단독 속성 이 나타 나 는 상황 을 처리 하 였 습 니 다.
3.5 DateFormat 의 형식 을 정의 할 수 있 습 니 다. 아래 의 범례 4.3 참조
3.6 소스 코드 와 UT 첨부 파일 다운로드.
4. 범례: 4.1 기본 해석:
	WordType wt = new WordType();
	wt.setName("f");
	wt.setId(3);
		
	Word w = new Word();
	w.setName("a");
	w.setType(wt);
	JSONUtil.object2JSON(w,stringBuffer,new Class[]{WordType.class});

출력:
Word:{"name":"a","type":{"id":3,"name":"f"}}

4.2 배열 과 List 분석
	Tag t = new Tag();
	t.setName("t");
	Tag tt = new Tag();
	tt.setName("tt");
	Tag[] ttt = {t,tt};
		
	WordType wt = new WordType();
	wt.setName("f");
	wt.setId(3);
		
	Word w = new Word();
	w.setName("a");
	w.setType(wt);
	w.setTags(ttt);
		
	WordType wtt = new WordType();
	wtt.setName("gg");
	wtt.setId(2);
	
	Word ww = new Word();
	ww.setName("aa");
	ww.setType(wtt);
	ww.setTags(new Tag[]{t});
	List<Tag> tagList = new ArrayList<Tag>();
	tagList.add(t);
	tagList.add(tt);
	ww.setTagList(tagList);
	JSONUtil.object2JSON(new Word[]{w,ww},stringBuffer,new Class[]{WordType.class,Tag.class});

출력:
[Word:{"name":"a","tags":[{"name":"t"},{"name":"tt"}],"type":{"id":3,"name":"f"}},Word:{"name":"aa","tagList":[{"name":"t"},{"name":"tt"}],"tags":[{"name":"t"}],"type":{"id":2,"name":"gg"}}]

4.3 기본 유형, 포장 류, 날짜 분석
	LangObject lo = new LangObject();
	lo.setBooleanValue(true);
	lo.setByteValue(Byte.valueOf("2"));
	lo.setCharacterValue(Character.valueOf('3'));
	lo.setDoubleValue(4.0);
	lo.setFloatValue(5f);
	lo.setIntegerValue(6);
	lo.setLongValue(7l);
	lo.setShortValue(Short.valueOf("8"));
		
	lo.setBooleanObject(true);
	lo.setByteObject(Byte.valueOf("2"));
	lo.setCharacterObject(Character.valueOf('3'));
	lo.setDoubleObject(4.0);
	lo.setFloatObject(5f);
	lo.setIntegerObject(6);
	lo.setLongObject(7l);
	lo.setShortObject(Short.valueOf("8"));
		
	lo.setUtilDate(new java.util.Date());
	lo.setSqlDate(java.sql.Date.valueOf("2009-6-6"));
	
	JSONUtil.DATE_FORMAT = "yyyy/MM/dd";
	JSONUtil.object2JSON(lo,stringBuffer);

출력:
LangObject:{"booleanObject":"true","booleanValue":"true","byteObject":2,"byteValue":2,"characterObject":"3","characterValue":"3","doubleObject":4.0,"doubleValue":4.0,"floatObject":5.0,"floatValue":5.0,"integerObject":6,"integerValue":6,"longObject":7,"longValue":7,"shortObject":8,"shortValue":8,"sqlDate":"2009/06/06","utilDate":"2009/06/12"}

2009-6-25
업로드:
List 대신 Collection 인터페이스 사용 하기
대상 이름 제거

좋은 웹페이지 즐겨찾기