Как получить URL-адрес из объекта ответа API из Cloudinary JAVA

#cloudinary

#cloudinary

Вопрос:

я разрабатываю веб-приложение с использованием Java. Я развернул свое приложение в Heroku. В Heroku я использую надстройку под названием Cloudinary для хранения моих изображений в облаке и извлечения их при необходимости. Я использую search api для извлечения изображения из облака cloudinary, но мне не удается получить доступ к URL-адресу из api ответа. Ниже приведен мой Java-код:

 String nameOfPicture = nameOfRecipe;
    Cloudinary cloudinary = null;
    try {
        cloudinary = new Cloudinary(String.valueOf(new URI(System.getenv("CLOUDINARY_URL"))));
    } catch (URISyntaxException e) {
        System.err.println(e);
    }

    String imgUrl = null;
    try {
        ApiResponse result = cloudinary.search()
                .expression(nameOfPicture)
                .maxResults(10)
                .execute();
        System.out.println(result.get("resources"));
        System.out.println(result.get("url"));
        
    } catch (Exception e) {
        System.err.println(e);
    } 
 

Если я System.out.println(result.get(«ресурсы»)), я вижу, что от cloudinary есть такой ответ:

 [{
        aspect_ratio = 1.77778,
        access_control = null,
        format = jpg,
        resource_type = image,
        secure_url = https: //res.cloudi nary.com/...../POULTRY/ACAPULCO_CHICKEN.jpg, created_at=2020-12-15T18:12:39 00:00, backup_bytes=0, type=upload, ve rsion=1608055959, access_mode=public, created_by={access_key=..., external_id=......}, url=http://res.cloudinary.com /...../v1608055959/FOOD_IMG/POULTRY/ACAPULCO_CHICKEN.jpg, public_id=FOOD_IMG/POULTRY/ACAPULCO_CHICKEN, uploaded_by={access_key=....... .., external_id=.......}, folder=FOOD_IMG/..., filename=...., pixels=360000, uploaded_at=2020-12-15T18:12:39
             00: 00,
        bytes = 131330,
        width = 800,
        etag = ce45a927d98e07e1c73bd16030218f96,
        height = 450,
        status = active
    }, {
        aspect_ratio = 0.66667,
        access_control = null,
        format = j pg,
        resource_type = image,
        secure_url = https: //res.cloudinary.com/...../FOOD_IMG/POULTRY/ADOBO_CHICKEN_GINGER.jpg, created_at= 2020-12-15T16:40:52 00:00, backup_bytes=0, type=upload, version=1608050452, access_mode=public, created_by={access_key=....., external_id=.......}, url=http://res.cloudinary.com/hmzve6z5z/image/upload/..../POULTRY/ADOBO_CHICKEN_GINGER.jpg, public_id=FOOD_ IMG/POULTRY/ADOBO_CHICKEN_GINGER, uploaded_by={access_key=...., external_id=......}, folder=FOOD_IMG/POULTRY, filenam e=ADOBO_CHICKEN_GINGER, pixels=960000, uploaded_at=2020-12-15T16:40:52 00:00, bytes=242816, width=800, etag=......d, height=120 0, status=active}]
 

Вопрос в том, как я могу получить доступ и получить URL-адрес изображения из этого ответа?
Спасибо!

Ответ №1:

Ответ представляет собой объект JSON, и вы можете перебрать его и захватить secure_url.

 JSONArray jsonArray = outerObject.getJSONArray("resources");
for (int i = 0, size = jsonArray.length(); i < size; i  ) {
    JSONObject objectInArray = jsonArray.getJSONObject(i);
    String secure_url=objectInArray.get("secure_url").toString();
}