大家好,我正在用@JSONProperty的自定义名称序列化嵌套对象。所以,这里是:
public class Wrapper {
public final Payload payload;
public Wrapper(String name){
this.payload = new Payload(name);
}
public static final class Payload{
@JsonProperty("customName")
public final String name;
@JsonCreator
public Payload(@JsonProperty ("customName") String name){
this.name = name;
}
}
}
所以,在每一个测试中,我都看到非自定义的名称--“name”。我用@JsonProperty添加了getter,但没有成功。
我的测试类:
@JsonTest
public class SerializeWrapperTest {
@Test
void whenSerialiseThanCorrect() throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
Wrapper wrapper =
new Wrapper("name");
String json = objectMapper.writeValueAsString(wrapper);
Assertions.assertEquals("{"payload":{"customName":"name"}}",json);
}
}
测试结果:预期:{“Payload”:{“CustomName”:“Name”}}实际:{“Payload”:{“Name”:“Name”}}
org.opentest4j.AssertionFailedError。
编辑过。
如果我理解正确的话,您需要在json中为字段“name”设置一个自定义属性。为此你要做的是-
public class Wrapper {
public final Payload payload;
public Wrapper(String name){
this.payload = new Payload(name);
}
public static final class Payload{
@JsonProperty("customName")
public final String name;
public Payload(String name){
this.name = name;
}
}
JUnit-
public class WrapperTest {
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void whenSerialiseThanCorrect() throws IOException {
ObjectMapper objectMapper = new ObjectMapper();
Wrapper wrapper =
new Wrapper("Ajeet");
String json = objectMapper.writeValueAsString(wrapper);
System.out.println(json);
}
}
}
有没有一种方法可以使用Jackson JSON处理器来执行自定义字段级别的序列化?例如,我想让 注意,age=25被编码为数字,而favoritenumber=123被编码为字符串。Jackson将编组为一个数字。在这种情况下,我希望将favoriteNumber编码为字符串。
我有以下xml 我需要将其反序列化为以下POJO: 这里的问题是被包装在元素中
我需要一些使用MapStruct映射嵌套POJO的帮助。我需要跳过/删除目标类中所有子类的特定字段。 例如,以下是我的目标POJO 所有这些子类——,,。。。包含一个字段“”,我想在映射时忽略它。这种结构使得这些类不共享包含此字段的公共基类——“”。 我创建的映射器如下所示: 这工作。 然而,当中的子类数量很大时,它会变得很乏味。我需要明确指定每个类。 有没有人能告诉我,这是否可以用一种更通用的方
问题内容: 有没有一种使用Jackson JSON Processor进行自定义字段级序列化的方法?例如,我想上课 序列化为以下JSON: 请注意,age = 25被编码为 数字, 而favoriteNumber = 123被编码为 string 。开箱即用的杰克逊将集结到一个号码。在这种情况下,我希望将favoriteNumber编码为字符串。 问题答案: 您可以实现自定义序列化器,如下所示:
介绍 model 参考文档已经介绍了如何使用 Django 的标准字段类;例如 CharField, DateField,等等。对于很多应用来说,这些类足够用了。 但是在某些情况下, 你所用的Django 不具备你需要的某些精巧功能,或是你想使用的字段与 Django 自带字段完全不同。 Django 内置的字段类型并不能覆盖所有可能遇到的数据库的列类型,仅仅是些普通的字段类型,例如VARCHAR