在PHP Laravel中如何修改JSON数据,将cities_list替换为cities字段的值
实现方法
场景1:直接处理JSON字符串/关联数组
如果你拿到的是原始JSON字符串,先转成关联数组后直接替换字段值即可:
// 解析原始JSON为关联数组 $originData = json_decode($yourOriginalJson, true); // 直接替换cities字段值,用Laravel自带的data_get辅助函数可以避免键不存在时报错 $originData['cities'] = data_get($originData, 'cities.cities_list', []); // Laravel中直接返回数组即可自动转换为符合要求的JSON响应 return $originData;
场景2:在API资源类中格式化返回值
如果是通过Laravel的API资源做返回值格式化,直接在资源类的toArray方法中调整字段映射即可:
public function toArray($request) { return [ // 其他需要返回的字段保持不变 'cities' => $this->cities['cities_list'] ?? [], ]; }
场景3:处理Collection集合类型数据
如果原始数据是Laravel集合,用put方法替换字段即可:
$collect = collect($originData); $collect->put('cities', $collect->get('cities')['cities_list'] ?? []); return $collect;
内容的提问来源于stack exchange,提问作者Digital404
相关产品推荐
相关产品推荐

