我下面有json字符串,我尝试转换数组,但我不成功,任何人都可以帮助我,谢谢你提前。
MoviesOf1994
答案 0 :(得分:3)
看来,你有一个序列化的json,所以试试这个:
$array = json_decode(unserialize($string), true);
但您的数据似乎也已损坏,这就是为什么unserialize
在某些PHP
版本中无法正常运行的原因。如果是这种情况,那么在这个问题中,您可以找到解决此问题的方法:unserialize() [function.unserialize]: Error at offset。
答案 1 :(得分:2)
json_decode(unserialize($string),true); // pass second argument true
如果为true,则返回的对象将转换为关联数组。
答案 2 :(得分:0)
您的数据为serialized
以及json encoded
。所以你必须使用: -
json_decode
以及unserialize
如下: -
<?php
$data = 's:59:"[{"item_id":"UTILITY CON CERNIERA","qty":1,"points":"110"}]"';
print_r(json_decode(unserialize($data),true));
?>
并且
<?php
$data = 's:109:"[{"item_id":"UTILITY CON CERNIERA","qty":1,"points":"110"},{"item_id":"PESA VALIGIA","qty":1,"points":"120"}]"';
print_r(json_decode(unserialize($data),true));
?>
https://eval.in/590757和https://eval.in/590758
更多参考: -
答案 3 :(得分:-1)
似乎这些是序列化字符串而不是json编码..
使用json_decode(unserialize($string));
获取数组。
答案 4 :(得分:-1)
阅读http://php.net/manual/en/function.json-decode.php
$array=json_decode($JSON_STRING,true);
函数中的第二个参数是将结果作为数组获取,默认情况下它返回Object。