Package org.springside.modules.mapper

Examples of org.springside.modules.mapper.JsonMapper.toJson()


  public void threeTypeInclusion() {
    TestBean bean = new TestBean("A");

    // 打印全部属性
    JsonMapper normalMapper = new JsonMapper();
    assertThat(normalMapper.toJson(bean)).isEqualTo(
        "{\"name\":\"A\",\"defaultValue\":\"hello\",\"nullValue\":null}");

    // 不打印nullValue属性
    JsonMapper nonEmptyMapper = JsonMapper.nonEmptyMapper();
    assertThat(nonEmptyMapper.toJson(bean)).isEqualTo("{\"name\":\"A\",\"defaultValue\":\"hello\"}");
View Full Code Here


    assertThat(normalMapper.toJson(bean)).isEqualTo(
        "{\"name\":\"A\",\"defaultValue\":\"hello\",\"nullValue\":null}");

    // 不打印nullValue属性
    JsonMapper nonEmptyMapper = JsonMapper.nonEmptyMapper();
    assertThat(nonEmptyMapper.toJson(bean)).isEqualTo("{\"name\":\"A\",\"defaultValue\":\"hello\"}");

    // 不打印默认值未改变的nullValue与defaultValue属性
    JsonMapper nonDefaultMaper = JsonMapper.nonDefaultMapper();
    assertThat(nonDefaultMaper.toJson(bean)).isEqualTo("{\"name\":\"A\"}");
  }
View Full Code Here

    JsonMapper nonEmptyMapper = JsonMapper.nonEmptyMapper();
    assertThat(nonEmptyMapper.toJson(bean)).isEqualTo("{\"name\":\"A\",\"defaultValue\":\"hello\"}");

    // 不打印默认值未改变的nullValue与defaultValue属性
    JsonMapper nonDefaultMaper = JsonMapper.nonDefaultMapper();
    assertThat(nonDefaultMaper.toJson(bean)).isEqualTo("{\"name\":\"A\"}");
  }

  /*
   * 测试类似Jaxb的常用annotaion,如properName,ignore,propertyOrder
   */
 
View Full Code Here

  public void jaxbAnnoation() {
    JsonMapper newMapper = new JsonMapper();
    newMapper.enableJaxbAnnotation();
    TestBean3 testBean = new TestBean3(1, "foo", 18);
    // 结果name属性输出在前,且被改名为productName,且age属性被ignore
    assertThat(newMapper.toJson(testBean)).isEqualTo("{\"productName\":\"foo\",\"id\":1}");
  }

  // 调转顺序
  @JsonPropertyOrder({ "name", "id" })
  public static class TestBean2 {
View Full Code Here

    // 使用enum.toString(), 注意配置必須在所有讀寫動作之前調用.
    // 建议toString()使用index数字属性,比enum.name()节约了空间,比enum.order()则不会有顺序随时改变不确定的问题。
    JsonMapper newMapper = new JsonMapper();
    newMapper.enableEnumUseToString();
    assertThat(newMapper.toJson(TestEnum.One)).isEqualTo("\"1\"");
    assertThat(newMapper.fromJson("\"1\"", TestEnum.class)).isEqualTo(TestEnum.One);
  }

  /**
   * 枚舉類型的演示Bean.
 
View Full Code Here

    // tojson
    User user = new User();
    user.setName("foo");
    user.setSalary(new Money(1.2));

    String jsonString = newMapper.toJson(user);

    assertThat(jsonString).isEqualTo("{\"name\":\"foo\",\"salary\":\"1.2\"}");

    // from
    User resultUser = newMapper.fromJson(jsonString, User.class);
View Full Code Here

    TestBean bean = new TestBean("foo");
    bean.setDefaultValue("bar");
    JsonMapper newMapper = JsonMapper.nonEmptyMapper();
    newMapper.getMapper().setPropertyNamingStrategy(new LowerCaseNaming());
    assertThat(newMapper.toJson(bean)).isEqualTo("{\"name\":\"foo\",\"defaultvalue\":\"bar\"}");
  }

  public static class LowerCaseNaming extends PropertyNamingStrategy {
    @Override
    public String nameForGetterMethod(MapperConfig<?> config, AnnotatedMethod method, String defaultName) {
View Full Code Here

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.