我在这一点上很挣扎。 我使用脚本插入/更新网站语言。
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" ..
提前致谢。
答案 0 :(得分:0)
似乎$ _POST是一个数组。 所以你将数组推到$ json数组
试试这个:
$json = $json + $_POST;
$jsonData = json_encode($json, JSON_PRETTY_PRINT);
file_put_contents(__DIR__.'/../files/lg.json', $jsonData);
答案 1 :(得分:0)
你只需要制作$ json [key] = value
$json['French'] = $_POST;
如果它不存在则添加,否则更新