2013년 8월 21일 수요일

ObjectMapper 사용법

package com.jetddo.study.test;

import java.util.List;

import lombok.Data;

import org.codehaus.jackson.map.ObjectMapper;
import org.junit.Test;



public class UnitTest {
 
 static String jsonText;
 static
 {
  jsonText = "";
  jsonText += "{";
  jsonText += "\"result\":\"OK\",";
  jsonText += "\"dataType\":\"LIST\",";
  jsonText += "\"userList\": [";
  jsonText += "   {\"username\":\"admin1\",\"password\":\"admin\"},";
  jsonText += "   {\"username\":\"admin2\",\"password\":\"admin\"},";
  jsonText += "   {\"username\":\"admin3\",\"password\":\"admin\"},";
  jsonText += "   {\"username\":\"admin4\",\"password\":\"admin\"},";
  jsonText += "   {\"username\":\"admin5\",\"password\":\"admin\"},";
  jsonText += "   {\"username\":\"admin6\",\"password\":\"admin\"},";
  jsonText += "   {\"username\":\"admin7\",\"password\":\"admin\"},";
  jsonText += "   {\"username\":\"admin8\",\"password\":\"admin\"},";
  jsonText += "   {\"username\":\"admin9\",\"password\":\"admin\"},";
  jsonText += "   {\"username\":\"admin0\",\"password\":\"admin\"}";
  jsonText += "   ]";
  jsonText += "}";
  
 }

 @Test
 public void test() {
  
  TestMapVo vo = null;
      
  try {
   vo = new ObjectMapper().readValue(jsonText, TestMapVo.class);
  } catch(Exception e){
   e.printStackTrace();
  } 
  
  System.out.println(vo);
 }
 
 @Data 
 public static class TestUserVo {
  
  String username;
  String password;
 }
 
 @Data
 public static class TestMapVo {
  
  String result;
  String dataType;
  List< TestUserVo> userList;
  
 }
}

결과
UnitTest.TestMapVo(result=OK, dataType=LIST, userList=[UnitTest.TestUserVo(username=admin1, password=admin), UnitTest.TestUserVo(username=admin2, password=admin), UnitTest.TestUserVo(username=admin3, password=admin), UnitTest.TestUserVo(username=admin4, password=admin), UnitTest.TestUserVo(username=admin5, password=admin), UnitTest.TestUserVo(username=admin6, password=admin), UnitTest.TestUserVo(username=admin7, password=admin), UnitTest.TestUserVo(username=admin8, password=admin), UnitTest.TestUserVo(username=admin9, password=admin), UnitTest.TestUserVo(username=admin0, password=admin)])

댓글 없음:

댓글 쓰기