如何在php中将json数据转换为数组?

时间:2016-06-17 10:31:32

标签: php arrays json

我下面有json字符串,我尝试转换数组,但我不成功,任何人都可以帮助我,谢谢你提前。

MoviesOf1994

5 个答案:

答案 0 :(得分:3)

看来,你有一个序列化的json,所以试试这个:

$array = json_decode(unserialize($string), true);

您的数据似乎也已损坏,这就是为什么unserialize在某些PHP版本中无法正常运行的原因。如果是这种情况,那么在这个问题中,您可以找到解决此问题的方法:unserialize() [function.unserialize]: Error at offset

答案 1 :(得分:2)

使用unserializejson_decode

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/590757https://eval.in/590758

更多参考: -

http://php.net/manual/en/function.json-decode.php

http://php.net/manual/en/function.unserialize.php

答案 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。