从地图处理数组列表

Process array list from map

我们正在尝试访问放置在地图中的对象数组。

任何人都可以指导我们获取数组的 length 以及从列表中获取每个元素。下面给出了示例地图对象。

{
    storeId = 1,
    ShipToStreetLine1 = test 123,
    ShipToCity = Seattle,
    OrderDetails = [{
        distributor_name = SS,
        product_name = HORN 80897 AM GUN 300BO 125 HP 50/10
    }]
}

我们需要获取 orderDetails 数组的 size,如果数据存在,那么我想获取 product_name.

你可以试试这个:

创建一个 POJO,它是您在 orderDetails 中得到的类型

喜欢

public class OrderDetailElement{
    private String distributor_name;
    private String product_name;
    public String getDistributor_name() {
        return distributor_name;
    }
    public void setDistributor_name(String distributor_name) {
        this.distributor_name = distributor_name;
    }
    public String getProduct_name() {
        return product_name;
    }
    public void setProduct_name(String product_name) {
        this.product_name = product_name;
    }

}

按照你的逻辑class你可以做的是

    ArrayList<OrderDetailElement> orderDetails = yourMap.get("OrderDetails");
    List<String> products = new ArrayList<String>();
    if (orderDetails.size() > 0) {
        for (OrderDetailElement orderDetailElement : orderDetails) {
            products.add(orderDetailElement.getProduct_name());
        }
    }