{
"file": 1,
"format": 1
}
{
"info_sent": 0.0,
"lsd": true,
"send_info": false
}
当文件按这样排列时,json_decode
返回语法错误。 顺便说一下,这是Deluge的配置文件。
JSON 需要在两个元素之间使用逗号,然后应该将其包装为数组。
喜欢这个:
[{
"file": 1,
"format": 1
},
{
"info_sent": 0.0,
"lsd": true,
"send_info": false
}]
若要使用原始格式,请创建一个循环,在该循环中分别解码每个元素并将生成的对象推送到数组中。
假设您的文件每个 JSON 元素有一行,您的代码可能如下所示:
$result = [];
foreach(file('myfile.txt') as $line) {
$result[] = json_decode($line);
}
如果您的文件排列方式不同(一个 JSON 占用多行),则必须更改上述代码。一切都取决于文件格式...