Java: Извлечение индекса src из нескольких массивов

$path должно быть именем файла, а не каталогом.

0
задан Rakesh 18 January 2019 в 11:32
поделиться

1 ответ

Поскольку вы используете довольно миниатюрный JSON-анализатор com.codename1.io.JSONParser , который анализирует JSON в Map<String, Object> и ничего больше, тогда вы хотите преобразовать Object, которое вы получаете выберите значение для ожидаемого типа и повторите оттуда.

Если объект JSON верхнего уровня является массивом, то создается специальный элемент "root", который вы здесь получаете. Это означает, что структура вашего JSON анализируется следующим образом:

{
    "root": [
        {
            "name": <str>,
            "stock_status": <???>,
            "date_created": <str>,
            "images": 
                {
                    "id": <num>,
                    "date_*": <str>,
                    "src": <str>,
                    "name": <str>,
                    "alt": <str>
                }
            ]
        }
    ]
}

Итак, чтобы извлечь src изображения, вы извлекли массив "root" и итерировали по нему. Однако вместо того, чтобы приводить результаты к Map<String, String>, вы хотите оставить их как Map<String, Object>:

for (const Map<String, Object> element : (List<Map<String, Object>>) result.get("root")) {
    // The "element" object has an "images" value that is a list of objects
    for (const Map<String, Object> image : (List<Map<String, Object>>) element.get("images")) {
        // Save the "src" field of each image
        productImages.add((String) image.get("src"));
    }
}
0
ответ дан Billy Brown 18 January 2019 в 11:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: