即使file_get_contents()完美运行,即使json有效,json_decode()仍返回null

时间:2019-11-17 00:13:49

标签: php json jsondecoder

大家好,我正在使用php从txt文件读取一些数据

file_get_contents('../../Datafiles/allThreads.txt');

这将返回以下字符串

[{"OP":"ding","threadName":"","content":"","ID":6}]

当我尝试使用lint验证时,我没有任何问题,因此json有效。

但是问题是,当我调用json_decode时,它始终返回null:

$currentThreadasList = json_decode('../../Datafiles/allThreads.txt');

为什么会这样?我遵守所有规则吗?

2 个答案:

答案 0 :(得分:0)

您可以这样做:

//storing json contents in a variable.
$json_contents = file_get_contents('../../Datafiles/allThreads.txt');

//decode json
$currentThreadasList = json_decode($json_contents, TRUE)

Edit-1:

您是否尝试过以下方法:

$currentThreadasList = json_decode(file_get_contents('../../Datafiles/allThreads.txt'), TRUE);

答案 1 :(得分:0)

好吧,这段代码

$currentThreadasList = json_decode('../../Datafiles/allThreads.txt');

不起作用,因为json_decode的第一个参数需要是JSON字符串,而不是路径。只需将文件内容作为参数传递即可:

$yourJsonDecodedArray = json_decode(file_get_contents('../../Datafiles/allThreads.txt'), TRUE);