PHP 从字符串恢复 JSON 文件的函数?

PHP Function to Restore JSON File from String?

我有一个 PHP 脚本可以从另一个程序中提取数据;该程序将其数据输出为单个 JSON 文件。但是出于我永远无法理解的原因,另一个程序的作者决定从 JSON 文件中删除所有换行符和空格,并将整个输出作为一个巨大的字符串提交:

{"John":{"status":"Wait"},"Jennifer":{"status":"Active"},"James":{"status":"Active","age":56}}

这几乎没用。我需要我的 PHP 脚本来获取上述内容并将原始文件重建为人类可读的格式:

{
    "John": {
        "status":"Wait"
    },
    "Jennifer": {
        "status":"Active"
    },
    "James": {
        "status":"Active",
        "age":56
    }
}

我可以从头开始开发这样的方法,但那会很痛苦。我一直在阅读 json_decode(),我相信它可以帮助我解析原始字符串,但不能真正重建原始文件。有谁知道图书馆或可能有帮助的东西?谢谢

您可以分两步完成:

  1. 将JSON字符串解码为PHP数组
  2. 使用选项 JSON_PRETTY_PRINT
  3. 再次编码
echo json_encode(json_decode($json_text, true), JSON_PRETTY_PRINT);

Test json_encode and json_decode