今天在实现项目中的视频点播的部分,遇到一个问题,那就是阿里视频点播的api返回的是json对象,而我的服务端代码中需要的是数组,这里涉及到php中将json对象转换成字符串、数组等问题,代码其实也不难,网上不少参考代码只能将json的顶层转换为数组,但是如果嵌套的话就不行,我这里提供一个方法,代码如下:
/**
* 把json字符串转数组
*/
function json_to_array($p)
{
if (mb_detect_encoding($p, array('ASCII', 'UTF-8', 'GB2312', 'GBK')) != 'UTF-8') {
$p = iconv('GBK', 'UTF-8', $p);
}
return json_decode($p, true);
}
/**
* 把json对象转数组
*/
function jsonobj_to_array($obj) {
return json_to_array(json_encode($obj, JSON_FORCE_OBJECT));
}
Comments