我在这一点上很挣扎。我正在使用脚本插入/更新网站语言。
JSON文件的主要结构看起来像
{
"English": {
"shortcode": "EN"
}
}
这是我用来将语言插入JSON文件中的代码的示例
$data['french'] = $_POST;
array_push($json, $data);
$jsonData = json_encode($json, JSON_PRETTY_PRINT);
file_put_contents(__DIR__.'/../files/lg.json', $jsonData);
但是,当我将新记录插入我的JSON文件中时,新密钥附加在我的JSON文件中,看起来像这样,
{
"English": {
"shortcode": "EN"
},
"0": {
"French": {
"shortcode": "FR"
}
}
}
所以我的问题是如何插入新记录,但不要插入键" 0"," 1" ..
预先感谢。
您只需要制作$ json [key] = value
$json['French'] = $_POST;
如果不存在,则添加了,否则已更新
看来$ _post是一个数组。因此,您将数组推到$ JSON数组
尝试以下操作:
$json = $json + $_POST;
$jsonData = json_encode($json, JSON_PRETTY_PRINT);
file_put_contents(__DIR__.'/../files/lg.json', $jsonData);