paulwong

          JAVABEAN和JSON STRING互轉

          TestUser.java
          import javax.xml.bind.annotation.XmlRootElement;

          import org.codehaus.jackson.annotate.JsonProperty;

          @XmlRootElement
          public class TestUser {
              
              /*@XmlElement(name="username")*/
              @JsonProperty("username")
              private String userName;
              
              private String email;

              public String getEmail() {
                  return email;
              }

              public String getUserName() {
                  return userName;
              }

              public void setUserName(String userName) {
                  this.userName = userName;
              }

              public void setEmail(String email) {
                  this.email = email;
              }

              @Override
              public String toString() {
                  return "TestUser [userName=" + userName + ", email=" + email + "]";
              }
              
              

          }


          Test.java
          import java.io.IOException;

          import org.codehaus.jackson.JsonParseException;
          import org.codehaus.jackson.map.DeserializationConfig;
          import org.codehaus.jackson.map.JsonMappingException;
          import org.codehaus.jackson.map.ObjectMapper;
          import org.codehaus.jackson.type.TypeReference;
          import org.junit.Test;
          import org.slf4j.Logger;
          import org.slf4j.LoggerFactory;


          public class Test {
              
              private Logger logger = LoggerFactory.getLogger(Test.class);
              
              /*private String getBaseUri()
              {
                  return "
          http://192.168.1.223:8080/restfull-api";
              }
          */
              
              @Test
              public void testTest()
              {
                  ObjectMapper mapper = new ObjectMapper();
                  /*AnnotationIntrospector introspector = new JaxbAnnotationIntrospector();
                  // make deserializer use JAXB annotations (only)
                  mapper.getDeserializationConfig().setAnnotationIntrospector(introspector);
                  // make serializer use JAXB annotations (only)
                  mapper.getSerializationConfig().setAnnotationIntrospector(introspector);
          */
                  mapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
                  
                  String userStr = "{\"username\":\"paul\",\"email\":\"paul@paul.com\"}";
                  try {
                      TypeReference<TestUser> temp = new TypeReference<TestUser>(){};
                      TestUser testUser = mapper.readValue(userStr, temp);
                      System.out.println(testUser.toString());
                      
                      String result = mapper.writeValueAsString(testUser);
                      System.out.println(result);
                      
                  } catch (JsonParseException e) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
                  } catch (JsonMappingException e) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
                  } catch (IOException e) {
                      // TODO Auto-generated catch block
                      e.printStackTrace();
                  }
              }

          }









          posted on 2014-07-04 09:07 paulwong 閱讀(589) 評論(0)  編輯  收藏 所屬分類: JAX-RS


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 新绛县| 湟中县| 明光市| 新巴尔虎右旗| 香河县| 乐清市| 囊谦县| 太湖县| 和田市| 康保县| 赣州市| 建水县| 密云县| 花垣县| 离岛区| 贡山| 颍上县| 铜鼓县| 凤阳县| 山西省| 枞阳县| 张北县| 昌吉市| 东方市| 桐乡市| 阿克苏市| 乐东| 新蔡县| 正镶白旗| 志丹县| 东至县| 中卫市| 喀喇沁旗| 宝兴县| 弋阳县| 九龙坡区| 应用必备| 河池市| 石阡县| 宜兰市| 河东区|