Конвертировать JSON Строка в файл в Java - PullRequest
0 голосов
/ 09 января 2020

Я пытаюсь преобразовать Object в JSON, затем преобразовать его в File, чтобы иметь возможность отправить его на AWS S3.

Есть ли способ преобразовать строку самым эффективным способом? Спасибо!

Вот мой код:

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

А для S3

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

Ответы [ 2 ]

2 голосов
/ 09 января 2020

Насколько я знаю, чтобы создать объект файла для отправки на 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));

Ссылка на SDK JavaDo c

0 голосов
/ 09 января 2020

publi c class JSONStringToFile {

public static void main(String[] args) throws IOException {

    JSONObject obj = new JSONObject();
    obj.put("Name", "somanna");
    obj.put("city", "bangalore");

    JSONArray company = new JSONArray();
    company.add("Compnay: mps");
    company.add("Compnay: paypal");
    company.add("Compnay: google");
    obj.put("Company List", company);

    // try-with-resources statement based on post comment below :)
    try (FileWriter file = new FileWriter("/Users/<username>/Documents/file1.txt")) {
        file.write(obj.toJSONString());
        System.out.println("Successfully Copied JSON Object to File...");
        System.out.println("\nJSON Object: " + obj);
    }
}

}

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...