PHP插入JSON对象无主键



我在这一点上很挣扎。我正在使用脚本插入/更新网站语言。

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);

最新更新