代码之家  ›  专栏  ›  技术社区  ›  SHIDHIN TS

如何将对象数组保存为HashMap?

  •  -2
  • SHIDHIN TS  · 技术社区  · 7 年前

    我的目标是,

    {
        "code": 0,
        "data": [
            {
                "id": 71,
                "product_id": 1
            },
            {
                "id": 72,
                "product_id": 3
            }
        ]
    }
    

    data 数组作为哈希映射。如何不使用循环就可以轻松地转换。

    现在我做的就像,

            HashMap<String, String> map = new HashMap<String, String>();
            for(Data data: dataArray){
                map.put("id", String.valueOf(data.getId()));
                map.put("product_id",String.valueOf(data.getName()));
            }
    
    1 回复  |  直到 7 年前
        1
  •  4
  •   theanilpaudel    7 年前

    创建这样的类

    public class Data {
        int id,product_id;
    
        public int getId() {
            return id;
        }
    
        public void setId(int id) {
            this.id = id;
        }
    
        public int getProduct_id() {
            return product_id;
        }
    
        public void setProduct_id(int product_id) {
            this.product_id = product_id;
        }
    }
    

    这将映射到您的数据json数组。 然后像这样创建并添加到hashmap

    Data data = new Data();
    data.setId(1);
    data.setProduct_id(123);
    List<Data> dataList = new ArrayList<>();
    dataList.add(data);
    HashMap<String,List<Data>> hashMap = new HashMap<>();
    hashMap.put("<this-should-be-your-key>",dataList);