简体   繁体   English

将Java对象转换为JSON对象时出错

[英]Error Converting Java Object to JSON Object

Using jackson API, I am trying to convert java object to json string. 使用杰克逊API,我试图将java对象转换为json字符串。 I have gone through several posts but not able to through the below stack-trace. 我已经看过几篇文章,但无法通过下面的堆栈跟踪。

com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class java.io.FileDescriptor and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) (through reference chain: com.imc.idm.data.request.DirectoryDetailData["logoImage"]->org.springframework.web.multipart.support.StandardMultipartHttpServletRequest$StandardMultipartFile["inputStream"]->java.io.FileInputStream["fd"])
    at com.fasterxml.jackson.databind.JsonMappingException.from(JsonMappingException.java:284)
    at com.fasterxml.jackson.databind.SerializerProvider.mappingException(SerializerProvider.java:1110)
    at com.fasterxml.jackson.databind.SerializerProvider.reportMappingProblem(SerializerProvider.java:1135)
    at com.fasterxml.jackson.databind.ser.impl.UnknownSerializer.failForEmpty(UnknownSerializer.java:69)

My code is similar to this one below: 我的代码类似于以下代码:

public class Infomation {
    private MultipartFile img;
    private Manufacture manufacture;
    private List<Long> otherVal1;
    private List<MyCustomClass> otherVal2;
}

Component : 零件 :

ObjectMapper objectMapper = new ObjectMapper();
final String jsonString = objectMapper.writeValueAsString(infomationObject);
final MyDTO myDto = MyDTO.newBuilder().withValue(jsonString).build();
dataRepository.save(myDto);

Serializable interface/marker is not implemented in MultipartFile . 可序列化的接口/标记未在MultipartFile中实现。

If you have Spring Web in your dependencies, you can use CommonsMultipartFile as it implements Serializable and MultipartFile. 如果依赖项中包含Spring Web ,则可以使用CommonsMultipartFile来实现Serializable和MultipartFile。

For more information, please see Commons Multipart File Java API 有关更多信息,请参见Commons Multipart File Java API。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM