相关疑难解决方法(0)

Java内部类和静态嵌套类

Java中的内部类和静态嵌套类之间的主要区别是什么?设计/实施是否在选择其中一个方面发挥作用?

java inner-classes static-classes

1691
推荐指数
21
解决办法
70万
查看次数

Jackson Mapper后期构建

我正在使用Jackson ObjectMapper将一些JSON反序列化为Java类,我们将其称之为PlayerData.我想在类中添加一些逻辑来在PlayerData加载字段后修复一些数据.例如,一些早期的JSON文件用于使用"性别"标志而不是"性别"标志,所以如果性别标志已设置但性别标志未设置,我想将性别字段的值设置为性别字段的值.

是否有某种@PostConstruct或@AfterLoad注释可以粘贴到方法中?或者也许是我可以实现的界面?我没有注意到文档中的一个,但它似乎是一个显而易见的功能.

java mapping jackson

31
推荐指数
3
解决办法
1万
查看次数

Jackson Deserializer没有默认(无arg)构造函数

首先,我知道这个问题:CustomDeserializer没有默认(无arg)构造函数

我使用了推荐的解决方案,但仍然存在同样的问题.当我尝试反序列化我的json时,我仍然得到错误.

我想要对我的对象进行自定义反序列化.我的单元测试看起来如下:

Service service = new Service();
service.setId("ID");
service.setTitle("Title");
service.setDescription("Description");
service.setType("Service");

ObjectMapper mapper = new ObjectMapper();
String json = mapper.writeValueAsString(service);
Service service2 = mapper.readValue(json, Service.class);
Run Code Online (Sandbox Code Playgroud)

我的反序列化器(包含目前单元测试未涵盖的一些功能,但他甚至没有这么做):

public class ServiceDeserializer extends StdDeserializer<Service> {

    public ServiceDeserializer() {
        super(Service.class);
    }

    @Override
    public Service deserialize(final JsonParser jp, final DeserializationContext ctxt)
            throws IOException, JsonProcessingException {
        DataBaseManagment manager = DataBaseManagmentManager.getInstance();
        List<DataObject> objects = manager.readAll("Utility", true);
        JsonNode node = jp.getCodec().readTree(jp);
        String id = node.get("id").asText();
        String title = node.get("title").asText();
        String description = node.get("description").asText();
        Service service = …
Run Code Online (Sandbox Code Playgroud)

java json jackson deserialization

6
推荐指数
1
解决办法
2825
查看次数

Jackson - 将布尔值序列化为1/0而不是true/false

我有REST资源接收JSON对象,该对象是从用户ID到某个布尔值的映射,指示此用户是否有错误.

由于我期待大量用户,我想通过使用1/0而不是true/false来缩小此JSON的大小.

我试过并发现在脱盐过程中杰克逊会成功地将1/0转换为真/假,但是有没有办法告诉杰克逊(可能使用注释?)将这个布尔字段序列化为1/0而不是真/假?

java json jackson

4
推荐指数
2
解决办法
6821
查看次数