在php中将数组中的序列化数据转换为字符串

在php中将数组中的序列化数据转换为字符串,php,arrays,json,api,Php,Arrays,Json,Api,我从MySQL中的一个字段中提取数据。该字段以序列化字符串的形式从API中提取图像。API将以下数据传递到MySQL中的images列 a:2:{i:0;s:87:"http://url/image.jpg";i:1;s:85:"http://url/image2.jpg";} 如果打印json_encode$result,json_NUMERIC_CHECK我会得到以下输出: [ { "title":"Product 1", "images":"a:2{i:0;s:87:\

我从MySQL中的一个字段中提取数据。该字段以序列化字符串的形式从API中提取图像。API将以下数据传递到MySQL中的images列

a:2:{i:0;s:87:"http://url/image.jpg";i:1;s:85:"http://url/image2.jpg";}
如果打印json_encode$result,json_NUMERIC_CHECK我会得到以下输出:

[  
 {  
  "title":"Product 1",
  "images":"a:2{i:0;s:87:\"http://url/image1.jpg";i:1;s:85:\"http://url/image2.jpg";}"
 }
]
我想找回的只是

[  
 {  
  "title":"Product 2",
  "images":[  
   "http://url/image1.jpg",
   "http://url/image2.jpg"
  ]
 }
]
我不知道如何将images键取消序列化到一个单独的公共列表中。我尝试了不同形式的非序列化函数,没有骰子。 感谢您的帮助

谢谢使用取消序列化功能:

$ary = json_decode($json);


for($i=0; $i < count($ary['images']); $i++){
   $ary['images'][$i] = unserialize($ary['images'][$i]);
}


$obj = json_encode($ary);

字符串以序列化形式表示数组。您需要先将其取消序列化。问题在于,提供的字符串不是有效的序列化数据。看起来它应该解决这个问题

$images = array("http://url/image1.jpg", "http://url/image2.jpg");
要获得所需的输出,需要一个如下所示的数组

$data = array(
     'title' => 'Product 1',
     'images' => $images
);
echo json_encode($data);

这是有道理的。我如何访问'images'键中的数据,以便将其放入$images数组?通常,您会取消序列化'your serialized data here';但是你问题中的字符串不会取消序列化