PHP格式的JSON格式

时间:2014-06-18 20:04:29

标签: php json

我正在处理一个项目,该项目需要在每次表单提交后将JSON添加到文件中。 我的目标是让JSON看起来像:

{
  "word0":[
    "cheese",
    "burger"
  ],

  "word1":[
    "sup",
    "boi"
  ],

  "word2":[
    "nothin'",
    "much"
  ]
}

但我之后无法添加到JSON文件中。

编辑:我正考虑为每个表单提交创建一个新文件。这会是一个更好的选择吗? (存储大小不是问题)

这是我将JSON放入文件的当前代码:

$response['word' . $count] = array('word1' => $_POST['firstrow'], 'word2' => $_POST['secondrow']); 
file_put_contents("query.json", file_get_contents("query.json") . json_encode($response) . "\n");

1 个答案:

答案 0 :(得分:1)

如果你对存储大小没有任何问题,你可以为每个表单提交做一个新文件。

但是你可以通过阅读文件来制作一个大文件。

$data = json_decode(file_get_contents("data.json"), true);
$data["word3"] = array("i don't" , "know");
file_put_contents("data.json", json_encode($data));

如果您想保存IO,可以通过fseek在特定位置书写。

$file = fopen("data.json", "c");
fseek($file, -5, SEEK_END); // 5 character back from the end of the file.
fwrite($file, $newJsonArrayElement);
fclose($file);

^^^^^^^^^^^^^^^^^^^^^^^^^

这是一个示例片段,您需要计算从末尾搜索的字符,并以某种方式生成新的json。