如何将JsonNode作为电子邮件附件发送

时间:2017-03-07 18:51:16

标签: java json javamail

如何将JsonNode作为json文件中的电子邮件附件发送为json文件

 // Json node bit
 JsonNode requestBody = request().body().asJson();


 // Mail bit
 messageBodyPart = new MimeBodyPart();
 messageBodyPart.setDataHandler(new DataHandler( It should be passed here));
 messageBodyPart.setFileName("file.json");
 multipart.addBodyPart(messageBodyPart);

1 个答案:

答案 0 :(得分:1)

如果你查看DataHandler文档,它会显示三个构造函数。其中一个需要DataSource。 javamail API有一个名为ByteArrayDataSource

的实现

因此,如果您弄清楚如何将JsonNode序列化为JSON String,则可以执行以下操作:

String jsonStr = ...

new DataHandler(new ByteArrayDataSource(jsonStr.getBytes()));

另外,请注意,您还应将附件的MIME类型设置为applicatio/json