gpt4 book ai didi

PHP json_decode 返回 null

转载 作者:行者123 更新时间:2023-12-02 17:48:11 25 4
gpt4 key购买 nike

我正在编写使用数据库的 PHP 代码。为此,我使用一个数组作为散列映射。每次从我的数据库中添加或删除内容时,我都会将其保存到文件中。

我的数据库结构迫使我使用这种方法,不能使用 mysql 或任何其他标准数据库(学校项目,所以结构保持原样)。

我构建了两个函数:

function saveDB($db){
$json_db = json_encode($db);
file_put_contents("wordsDB.json", $json_db);
} // saveDB

function loadDB(){
$json_db = file_get_contents("wordsDB.json");
return json_decode($json_db, true);
} // loadDB

当回显编码后或从文件加载后得到的字符串时,我得到一个有效的 json(在 json 查看器上测试过)每当我尝试使用 json_decode() 解码字符串时>,我得到空值(用 var_dump() 测试)。

json 字符串本身很长(~200,000 个字符,这只是为了测试)。

我尝试了以下方法:

  • 用双引号/单引号替换单引号/双引号(没有任何反斜杠,有一个反斜杠和三个反斜杠。以及我能想到的在原始字符串和替换字符串中使用不同数量的反斜杠的任何组合),两者都是手动的并使用 str_replace()
  • 在 json 字符串前后添加引号。
  • 更改页面的编码。
  • 解码而不保存到文件(编码后立即)。
  • 检查斜杠和反斜杠。没有找到。
  • 尝试了 addslashes()
  • 尝试使用各种“转义字符串”变体。

json_last_error() 不起作用。我没有收到任何错误编号(Get null,not 0)。

这不是我的服务器,所以我不确定使用的是什么PHP版本,我无法升级/降级/安装任何东西。

我相信大小与它有关,因为小字符串似乎工作正常。

谢谢大家:)

最佳答案

在您的 JSON 文件中将 null 更改为“null”,它将解决问题。

关于PHP json_decode 返回 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11872312/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com