无法使用模型映射器将一个POJO的字符串表示形式映射到另一个POJO

问题描述

我有一个类的String或JSON表示形式:

{
  "id":123,"address":{
     "street":"Baker","city":"London"
    }
}

&我想将此JSON映射到如下所示的POJO:

public class OrderDTO {
    private Integer id;
    private Address orderAddress;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Address getorderAddress() {
        return orderAddress;
    }

    public void setorderAddress(Address orderAddress) {
        this.orderAddress = orderAddress;
    }
}

我正在使用modelmapper进行此操作,并使用PropertyMap<JsonElement,OrderDTO>来编写属性的映射,该映射在POJO中与JSON不同。实现方式如下:

PropertyMap<JsonElement,OrderDTO>orderMap = new PropertyMap<JsonElement,OrderDTO>() {
    @Override
    protected void configure() {
        map().setorderAddress(this.<Address>source("address"));
    }
};

但是,在执行时,出现以下异常:

Exception in thread "main" org.modelmapper.ConfigurationException: modelmapper configuration errors:

1) The source path address is invalid: com.google.gson.JsonObject.address cannot be resolved.

1 error
    at org.modelmapper.internal.Errors.throwConfigurationExceptionIfErrorsExist(Errors.java:241)
    at org.modelmapper.internal.ExplicitMappingBuilder.build(ExplicitMappingBuilder.java:244)
    at org.modelmapper.internal.ExplicitMappingBuilder.build(ExplicitMappingBuilder.java:96)
    at org.modelmapper.internal.TypeMapImpl.addMappings(TypeMapImpl.java:92)

我没有找到可用于从String / JSON类型映射到POJO的任何资源。这里可能是什么问题?

谢谢。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)