我想编写php将json添加到包中
我想编写php将信息添加到json id包中。 我希望它在同一个地区。 对不起,我打字的英语不好。我使用翻译 我的代码:-我想编写php将json添加到包中,php,json,Php,Json,我想编写php将信息添加到json id包中。 我希望它在同一个地区。 对不起,我打字的英语不好。我使用翻译 我的代码:- <?php $donatename = $_POST['donatename']; $donateURL = $_POST['donateurl']; $json1_str = '{ "transaction": "'.$fti_u.'", "donatename": "'.$donatename.'", "do
<?php
$donatename = $_POST['donatename'];
$donateURL = $_POST['donateurl'];
$json1_str = '{
"transaction": "'.$fti_u.'",
"donatename": "'.$donatename.'",
"donateURL": "'.$donateURL.'",
"releaseddate": "'.$fttime_u.'"
}';
$json1 = json_decode($json1_str, true);
$json2['packages'][] = $json1;
$jsonData = json_encode($json2, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
file_put_contents('data.json', $jsonData, FILE_APPEND);
?>
----期望-----
错误:
第10行出现分析错误:…“”}]}{“包”:[
--------------------^应为'EOF'、'}'、'、'、']'
您希望将数据添加到现有内容中,因此只需读取现有数据文件,添加新内容并使用新版本的数据覆盖现有文件
$json1 = json_decode($json1_str, true);
// Load existing content
$json2 = json_decode(file_get_contents('data.json'), true);
$json2['packages'][] = $json1;
$jsonData = json_encode($json2, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
file_put_contents('data.json', $jsonData); // Remove the append
每次执行脚本时,都会将单个json块附加到文件中。相反,您应该执行一次脚本,并使用foreach收集包并将其交给json对象。或者,您需要每次从文件中读取,转换为数组,追加到数组,再转换回JSON。这就是我想要的。你可能不是一个普通人在读我的信息。哈哈哈。谢谢我再问一个问题。如何从上面录制?抱歉-不确定您的意思。将json保存在顶部,而不是从底部录制更改
$json2['packages'][]=$json1
toarray\u unshift($json2['packages',$json1)代码>
{
"packages": [
{
"transaction": "",
"donatename": "",
"donateURL": "",
"releaseddate": ""
},
{
"transaction": "",
"donatename": "",
"donateURL": "",
"releaseddate": ""
}
, {
"transaction": "",
"donatename": "",
"donateURL": "",
"releaseddate": ""
}
]
}
$json1 = json_decode($json1_str, true);
// Load existing content
$json2 = json_decode(file_get_contents('data.json'), true);
$json2['packages'][] = $json1;
$jsonData = json_encode($json2, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);
file_put_contents('data.json', $jsonData); // Remove the append