如何为对象属性中数组中对象里的属性值重新赋值?

我在做商品添加这一页面的后端,这是前端传来的数据

img


主要问题出在pics这个属性,我想在后端处理pics数组里对象的属性,把它们重新赋值

    @PostMapping("add")
    public Map<String,Object> add(@RequestBody Goods goods) {
        Map<String,Object> map = new HashMap<>();
        try {
            Map<String,Object> map1 = new HashMap<>();
//            分割goods_cat,填入cat_xxx_id
            String[] result = goods.getGoods_cat().split(",");
            int[] array = Arrays.stream(result).mapToInt(Integer::parseInt).toArray();
            goods.setCat_one_id(array[0]);
            goods.setCat_two_id(array[1]);
            goods.setCat_three_id(array[2]);
            goods.setCat_id(array[2]);
//            添加时间
            goods.setAdd_time(System.currentTimeMillis()/1000);
            System.out.println(goods.pics);
//          问题出错点
            for (Object pic : goods.pics) {
                System.out.println(pic.goods_id);
            }
//            goodsService.addbaseinfo(goods);
//            goodsService.addpics(goods);
//            map.put("message",goods);
//            map1.put("msg","创建成功");
//            map1.put("status",201);
//            map.put("meta",map1);
        }catch (Exception e){
            e.printStackTrace();
        }
        return map;
    }

然后就报错

img

不要使用Object,自己去封装一个picDto

for (picDto pic : goods.getPicDtos) {

主要是看你goods.pics对应的变量类型是什么;而不是去foreach Object类型。

img