JSON中的键顺序无关,因此PHP的json_encode
在序列化JSON格式时使用键的内部顺序。我想确保等效的JSON始终以相同的形式序列化。例如$a
和$b
在下面的例子中如何序列化PHP中的规范化/规范化JSON
$a = ["foo" => 1, "bar" => 2, "doz" => 3];
$b = ["doz" => 3, "bar" => 2, "foo" => 1];
print json_encode($a)."\n";
print json_encode($b)."\n";
导致不同的序列化
{"foo":1,"bar":2,"doz":3}
{"doz":3,"bar":2,"foo":1}
,但他们是等价的。
编码前的ksort ...! – deceze
@deceze是但递归。 – Jakob