您正在尝试使用 file_put_contents 保存对象。Whiledata
参数此函数“可以是字符串、数组或流资源”
http://php.net/manual/en/function.file-put-contents.php
看这个例子:
<?php
$json = '
{
"glossary": {
"title": "example glossary",
"GlossDiv": {
"title": "S",
"GlossList": {
"GlossEntry": {
"ID": "SGML",
"SortAs": "SGML",
"GlossTerm": "Standard Generalized Markup Language",
"Acronym": "SGML",
"Abbrev": "ISO 8879:1986",
"GlossDef": {
"para": "A meta-markup language, used to create markup languages such as DocBook.",
"GlossSeeAlso": ["GML", "XML"]
},
"GlossSee": "markup"
}
}
}
}
}
';
$phpObj = json_decode($json);
var_dump($phpObj);
$myFile = "testFile.txt";
file_put_contents($myFile, $phpObj);
?>
它正确解析 json,但也没有保存任何内容,因为 php 不知道如何序列化 $phpObj 对象。
您需要保存原始 JSON 字符串:
<?php
$myFile = "testFile.txt";
file_put_contents($myFile,$_POST['json']);
echo '{ "success": true }';
?>
然后您可以读取文件并在必要时对其进行解析。