function toObject($object){ $newData = []; $data=json_decode($object,true); foreach ($data as $key => $val){ if(is_array($data[$key]) && count(array_filter(array_keys($data[$key]),'is_string')) && isset($val['err'])){ $newOne[$key.'.'.'err'] = $val['err']; $newData = array_merge($newData,$newOne); }elseif (is_array($data[$key]) && count(array_filter(array_keys($data[$key]),'is_string'))==0 && count($val) == count($val, 1)){ $newList = []; for($i=0;$i<count($val);$i++){ $newList[$key.'.'.$i] = $val[$i]; } $newData = array_merge($newData,$newList); }elseif (is_string($data[$key])){ $newRe[$key] = $val; $newData = array_merge($newData,$newRe); } } return json_encode((object)$newData,320); } //模拟数据 $object = '{ "data666":{ "err":1, "msg":"错误" }, "list666":["a","b"], "request_id666":"geo5-esd1-efor-veuq" }'; //方法调用 $result = toObject($object); print_r($result);die;
数据统一格式化
最新推荐文章于 2024-11-06 20:27:04 发布
该文章展示了一个PHP函数,该函数接收一个对象,将其解码为JSON,然后遍历数据,根据数据类型重新组织结构。如果键是字符串且包含err字段,它会提取err值;如果值是数组且所有键为数字,则将数组元素添加到新数组中;对于字符串值,直接保留在新数组中。最后,函数将处理后的数据编码回JSON对象。
摘要由CSDN通过智能技术生成