java - 在 Java 中将 JSON 字符串转换为文件

标签 java json spring amazon-s3

我正在尝试将 Object 转换为 JSON,然后将其转换为 File 能够将其发送到 AWS S3。

有没有一种方法可以以最有效的方式转换字符串? 谢谢!

这是我的代码:

String messageBody = new Gson().toJson(thisIsADtoObject);

对于 S3

PutObjectRequest request = new PutObjectRequest(s3BucketName, key, file);
        amazonS3.putObject(request);

最佳答案

据我所知,要创建一个文件对象发送到AWS,您必须在磁盘上创建实际文件,例如使用PrintStream:

File file = new File("path/to/your/file.name");
try (PrintStream out = new PrintStream(new FileOutputStream(file))) {
    out.print(messageBody);
} 

您可能希望使用采用 InputStream 的构造函数,而不是使用采用文件的构造函数:

PutObjectRequest request = new PutObjectRequest(s3BucketName, key, inputStream, metadata);
        amazonS3.putObject(request);

要将字符串转换为 InputStream,请使用

new ByteArrayInputStream(messageBody.getBytes(StandardCharsets.UTF_8));

Link to SDK JavaDoc

关于java - 在 Java 中将 JSON 字符串转换为文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59660472/

相关文章:

json - django 无法访问模板中的 jsonfield 数据

java - 如何正确序列化/反序列化Java Object[]?

java - Spring 集成 - 更少的样板?

java - Spring中使用@Bean和@Qualifier注释的Bean名称解析

java - Spring 冷冻应用

java - 使用按钮在嵌套回收器 View 中动态添加子项

java - Android - 如何检测慢速网络连接?

java - c :out tag did not show result

javascript - JSON 循环不工作

java - 在将字符串日期转换为工作日时遇到问题