unserialize.com他们是如何做到的

时间:2016-09-08 10:36:22

标签: php json

我收到了以下字符串:

a:16:{i:0;s:1:"6";i:1;s:2:"12";i:2;s:1:"2";i:3;s:2:"11";i:4;s:1:"7";i:5;s:2:"10";i:6;s:2:"16";i:7;s:1:"5";i:8;s:1:"3";i:9;s:1:"1";i:10;s:2:"14";i:11;s:1:"8";i:12;s:2:"13";i:13;s:1:"9";i:14;s:1:"4";i:15;s:2:"15";}

我无法使用

var_dump(json_decode($json))

因为它不会返回任何内容。我找到了两个有用的网站: http://jsonlint.com/用于检查对象是否有效(不是什么)和http://www.unserialize.com/可以将json字符串“反序列化”回到数组。

现在我想知道反序列化对json字符串的作用。所以我也可以在我的脚本中使用它。

2 个答案:

答案 0 :(得分:5)

看起来这是序列化的形式。您需要在此处使用unserialize()功能。

$input = 'a:16:{i:0;s:1:"6";i:1;s:2:"12";i:2;s:1:"2";i:3;s:2:"11";i:4;s:1:"7";i:5;s:2:"10";i:6;s:2:"16";i:7;s:1:"5";i:8;s:1:"3";i:9;s:1:"1";i:10;s:2:"14";i:11;s:1:"8";i:12;s:2:"13";i:13;s:1:"9";i:14;s:1:"4";i:15;s:2:"15";}';

var_dump(unserialize($input));

答案 1 :(得分:1)

在php中使用unserialize函数

<?php
echo '<pre>';
print_r(unserialize('a:16:{i:0;s:1:"6";i:1;s:2:"12";i:2;s:1:"2";i:3;s:2:"11";i:4;s:1:"7";i:5;s:2:"10";i:6;s:2:"16";i:7;s:1:"5";i:8;s:1:"3";i:9;s:1:"1";i:10;s:2:"14";i:11;s:1:"8";i:12;s:2:"13";i:13;s:1:"9";i:14;s:1:"4";i:15;s:2:"15";}'));
?>

https://eval.in/637790