클라이언트에서 ajax로 요청했을 때 자료를 손쉽게 파싱하기 위해서 json으로 클라이언트에 던져줄 때가 편할 때가 있습니다. 그래서 손쉽게 json으로 변환하는 라이브러리가 있습니다.

http://json-lib.sourceforge.net/

여기보면 json-lib라는 놈이 있는데 json으로 손쉽게 변환해주는 라이브러리입니다.

  • jakarta commons-lang 2.3
  • jakarta commons-beanutils 1.7.0
  • jakarta commons-collections 3.2
  • jakarta commons-logging 1.1
  • ezmorph 1.0.4

    이것들이 필요하다더군요. 위에 4개는 apache에 가면 있구요. ezmorph는 구글링해서 찾아서 받으세요.
    그리고 JSON-LIB인 json-lib-2.2.1-jdk15.jar가 필요합니다.

    사용법은 매우 간단합니다.
    [code]
    public class JsonTest {
     
     @Test
     public void Bean2Json()
     {
      MyBean myBean1 = new MyBean();
      myBean1.setId(1);
      myBean1.setName("mudchobo");
      MyBean myBean2 = new MyBean();
      myBean2.setId(2);
      myBean2.setName("shit");
     
      List<MyBean> mybeanList = new ArrayList<MyBean>();
      mybeanList.add(myBean1);
      mybeanList.add(myBean2);
     
      JSONArray jsonArray = JSONArray.fromObject(mybeanList);
      System.out.println("mybeanList - " + jsonArray);
     
      Map<String, Object> map = new HashMap<String, Object>();
      map.put("beanlist", jsonArray);
     
      JSONObject jsonObject = JSONObject.fromObject(map);
      System.out.println("json - " + jsonObject);
     }
    }
    [/code]
    Bean 2개를 List에 add를 한다음에 JSONArray라는 객체가 List를 배열로 만드는놈입니다.

    mybeanList - [{"id":1,"name":"mudchobo"},{"id":2,"name":"shit"}]

    이런식으로 만듭니다.
    저거를 JSONObject클래스를 이용해서 앞에 이름을 붙여줍니다. Map을 이용하면 됩니다
    Map을 이용해서 put에서 첫번째 인자에 이름을 넣고, 두번째 인자에 방금 생성한 Array를 넣으면 됩니다.
    그리고 JSONObject.fromObject메소드를 이용해서 생성하게 되면 이렇게 됩니다.

    json - {"beanlist":[{"id":1,"name":"mudchobo"},{"id":2,"name":"shit"}]}

    이상입니다-_-;

  •  
    Posted by 머드초보

    댓글을 달아 주세요

    1. BlogIcon Keep Burning 2010.03.16 12:00  댓글주소  수정/삭제  댓글쓰기

      안녕하세요.
      http://www.json.org/ 안에 있는 기존 lib만 사용하다가 문제점이 생겨서(List에 있는 bean은 제대로 못 만들더군요...) 고생하고 있었는데, 좋은 방법 가르쳐 주셔서 감사합니다.

    2. Developer 2015.07.19 22:45  댓글주소  수정/삭제  댓글쓰기

      좋은 정보네요. 감사합니다.

     

    jsmooth는 jar를 exe파일로 생성해줍니다. JAVA가 없을시에는 경고메시지와 함께 홈페이지로 이동 시켜주는 기능도 해주지요 ^^

    우선 jsmooth를 설치해봅시다.
    http://sourceforge.net/project/showfiles.php?group_id=86730
    최신버전은 0.9.9-7버전이군요. 다운로드해서 설치를 합니다.

    그러면 우선 간단하게 넷빈즈를 이용해서 java Swing프로젝트를 하나 만들어봅시다.
    Netbeans 6.0을 실행하고, File -> New Project에서 Java -> Java Desktop Application을 선택합니다.
    Project Name은 Hello Swing을 하고, 아래에 Basic Application선택하고 Finish를 클릭합시다.

    GUI화면이 나오는데 오른쪽에 Label을 드래그해서 프레임에 넣어봅시다.
    그리고 Label에 대고 오른쪽버튼을 클릭하고 Edit Text를 클릭해서 "Hello Swing" 이라고 써봅시다.

    사용자 삽입 이미지


    F11을 눌러서 빌드하고(JAR로 만들어줍니다) F6을 눌러서 실행해봅시다.
    사용자 삽입 이미지


    아...잘나오는군요. 이제 해당프로젝트경로/dist/ 라는 폴더에는 jar파일과 실행에 필요한 jar파일이 생성되어 있습니다. 이것을 이용해서 jsmooth를 통해 exe파일을 만들 수 있습니다.

    jsmooth를 실행합니다.
    왼쪽메뉴에서 Skeleton을 선택합니다. 윈도우용 프로그램이므로 Windowed Wrapper를 선택합니다.

    Executable을 선택합니다.
    Executable Binary는 만들어질 실행파일(경로포함)을 써주면 되고, Executable Icon은 프로그램의 아이콘을 뭘로 할 것인가를 정하는 겁니다. Current Directory는 설정안해줘두 돼요. 여기서 주의사항은 Executable Binary는 꼭 경로/실행이름.exe 형식으로 exe형식으로 지정해줘야합니다.

    Application을 선택합니다. 가장 중요한 부분이군요.
    Embbeded jar settings에서 Embedded jar에서 Use an embedded jar체크 후에 우리가 만든 HelloSwing.jar파일을 선택합니다.
    그리고 Classpath에는 이 프로그램이 실행되기 위해 외부jar가 쓰였으면 추가를 하는 것인데 dist폴더에 보면 lib폴더가 있고 2개의 jar파일이 있습니다. 이 두개도 포함이 되어야합니다.
    +버튼을 클릭하고 2개를 추가해줍시다.
    그리고나서 Main Class를 지정해줘야합니다. helloswing.HelloSwingApp가 아마 메인클래스 일껍니다.


    사용자 삽입 이미지


    그 다음 JVM Selection을 선택합니다.
    Java version setting을 해줘야하는데 최소한 필요한 자바버전을 써주면 되고, 최대지원하는 자바버전을 써주면 됩니다. 만약 나의 애플리케이션이 1.4에서도 돌아간다면 1.4라고 쓰면됩니다.
    저는 1.6에서 컴파일했으니 1.6이라고 쓰겠습니다. 컴에 1.6이 없으면 java홈페이지로 연결해서 받도록 됩니다.
    나머지는 그냥 냅둬도 됩니다.

    그러면 이제 Project메뉴 -> Compile 하면 exe파일이 생성됩니다.

    실행해보면 똑같은 화면이 나올껍니다 ^^

     
    Posted by 머드초보

    댓글을 달아 주세요

     

    훈민정음, 한글 뿐만아니라 인쇄를 할 수 있는 모든 것에 대해서 pdf로 바꿀 수 있는 신기한 유틸입니다 ^^

    이런 프로그램이 필요하게 된 이유가 삼성에서는 무조건 gul파일을 쓰나봅니다-_-; 옛날 문서여서 인지 몰라도 다 gul로 되어있네요. 전세계적인 포맷으로 변경해야 누구나 읽을 수 있을 것 같아서 변환기를 알아보던중에 이 프로그램을 찾게 되었습니다 ^^

    PDForm 2006이라는 프로그램도 있는데 이건 변환하면 클리어타입으로 변환이 안되더군요 ^^ 즉 이쁘게 안나온다는 말입니다 ^^

    사용법은

    우선 ezPDF Builder 2006을 설치합니다.
    http://www.unidocs.co.kr/korean/hb/hisboard.php?id=bbs1_3&group_no=1&mode=list

    여기들어가서 가입해야지 다운로드가 됩니다-_-; 치사합니다-_-; 어쨌든 가입하고 다운로드를 받습니다.
    설치할 때 잘 모르니 그냥 다음신공으로 설치합시다 ^^

    설치가 끝나면 변환하고자 하는 문서를 열 수 있으면 됩니다.

    훈민정음을 예로 들어봅시다. GUL파일을 열기위해서는 훈민정음뷰어가 필요합니다.
    훈민정음뷰어를 설치해봅시다.
    http://www.jungum.com/kr/html/download002_6.html?part=download&sec=5

    위 사이트 들어가서 다운받습니다. 다음 신공으로 설치를 합니다 ^^

    GUL파일을 열어 봅시다. 파일이 보이는데 이것을 PDF로 어떻게 변환하냐면
    파일 -> 인쇄 를 클릭해서 인쇄를 합시다. 여기서 프린터 선택은 ezPDF Builder 2006을 선택하셔야합니다^^

    확인을 누르면 어디다가 저장할지 물어봅니다. 폴더선택하면 pdf파일이 생성되있습니다 ^^


    한글 파일도 같은 방식으로 뷰어를 설치하고(한글이 깔려있다면 설치안해도 되겠죠 ^^) 인쇄를 하면 됩니다 ^^

     
    Posted by 머드초보

    댓글을 달아 주세요

    1. 나그네 2009.04.08 15:25  댓글주소  수정/삭제  댓글쓰기

      이글보고 쉽게 해결했습니다.
      감사합니다 :D