Как предоставить ссылку на файл S3 в JSON Parser
Я пытался использовать следующие способы, и оба выдают ошибку как "java.io.FileNotFoundException"
JSONArray a = (JSONArray) parser.parse(new FileReader(bucket+"/"+key));
а также
JSONArray a = (JSONArray) parser.parse(new FileReader(http://S3URL...);
2 ответа
Это сработало для меня
BufferedReader reader = new BufferedReader(новый InputStreamReader(response.getObjectContent())); Струнная линия; String iString = "";
while ((line = reader.readLine ())! = null) {iString = iString + line; }
JSONParser parser = new JSONParser (); JSONObject obj = (JSONObject) parser.parse (iString);
Вы не можете прочитать файл с S3 напрямую. Есть несколько способов сделать это:
Используйте HTTP-интерфейс, предоставляемый Amazon Web Services. Вы можете обратиться к этой документации http://docs.aws.amazon.com/AmazonS3/latest/dev/RetrievingObjectUsingJava.html
Используйте Amazon AWS SDK http://mvnrepository.com/artifact/com.amazonaws/aws-java-sdk
После прочтения файла вы можете передать поток ввода-вывода для создания объекта JSON.
Это так же хорошо, как сначала загрузить файл из корзины, а затем создать объект JSON из прочитанного содержимого.