MapStrut的新手;对象到字符串错误:
[[错误] /util/LicenseMapper.java:[11,23]无法将属性“ java.lang.Object license.customFields []。value”映射到“ java.lang.String license.customFields []。value ”。考虑声明/实现一个映射方法:“ java.lang.String map(java.lang.Object value)”。
代码:
@Mapper
public interface LicenseMapper {
List<License> jsonToDao(List<com.integrator.vo.license.License> source);
}
vo.license包含具有属性为的CustomFields列表
@SerializedName("Value")
@Expose
private Object value;
Json为一个字段输入了一个对象,因为它可能是布尔值或字符串或其他任何东西,所以我已将其映射到对象中。而dao层在String中具有相同的字段。 (在自定义映射器中,我只是String.valueof,但不确定如何使用Mapstrut实现它)
有人可以告诉我在LicenseMapper中需要什么设置才能将Object转换为String?
许可证结构-来源和目的地:
. . private String notes; private Boolean isIncomplete; private List<CustomField> customFields = null; private List<Allocation> allocations = null;
源中的自定义字段结构(已删除gson注释):
. . private String name; private Object dataType; private Object value;
目标中的自定义字段结构
private String name;
private String datatype;
private String value;
MapStrut的新手;对象到字符串错误:[错误] /util/LicenseMapper.java:[11,23]无法将属性“ java.lang.Object license.customFields []。value”映射到“ java.lang.String license.customFields [ ] ....
您可以尝试对表达式使用注释@Mapping