php json_encode的不同结果在macosx和linux上打印漂亮

时间:2016-01-27 11:46:00

标签: php json linux macos

我有一个代码生成器,开发人员可以在本地计算机上运行,​​他们可以使用不同版本的php和操作系统。 因此,在mac os x和linux上的php 5.5之间存在json_encode的不同行为。

mac os x:

php -r "echo json_encode(['a' => []], JSON_PRETTY_PRINT);"
{
    "a": []
}

的Linux:

php -r "echo json_encode(['a' => []], JSON_PRETTY_PRINT);"
{
    "a": [

    ]
}

由于这个json将被提交到git repo,无论使用什么php构建,它都必须是相同的。

有谁能说为什么会有这样的差异,我该怎么办?现在,我只有一个解决方案可以做出类似的事情:

$generated_code = preg_replace("#\\[\s+\\]#", "[]", $generated_code);

0 个答案:

没有答案
相关问题