Мои данные публикации в файл json не включают начальный и конечный теги []. И если отправлять в существующий файл JSON, чтобы добавить его, он добавляет данные после последнего]. Кроме того, опубликованные данные не включают запятую после последней фигурной скобки в записи.
Публикация в пустом файле json (без тегов [])
Добавление существующего файла JSON, содержащего теги []
<?php
if(isset($_POST['submit'])) {
$file = "sites/default/files/storage.json";
$json_string = json_encode($_POST, JSON_PRETTY_PRINT);
file_put_contents($file, $json_string, FILE_APPEND);
header('Location: thanks');
}
?>
Я ожидал, что JSON будет (для пустого файла):
[
{
"имя": "Джо",
"электронная почта": "joe@bloggs.com",
«клетка»: «1234567890»,
«доб»: «1998-07-13»,
"исследование": "4"
}
]
но это показывает:
{
"name": "Joe",
"email": "joe@bloggs.com",
"cell": "1234567890",
"dob": "1998-07-13",
"study": "4"
}
Я ожидал, что JSON будет (для добавленного файла):
[
{
"name": "Joe",
"email": "joe@bloggs.com",
"cell": "1234567890",
"dob": "1998-07-13",
"study": "4"
},
{
"name": "tom",
"email": "tom@bloggs.com",
"cell": "1234567891",
"dob": "1998-07-16",
"study": "9"
}
]
но это показывает:
[
{
"name": "Joe",
"email": "joe@bloggs.com",
"cell": "1234567890",
"dob": "1998-07-13",
"study": "4"
}
]
{
"name": "tom",
"email": "tom@bloggs.com",
"cell": "1234567891",
"dob": "1998-07-16",
"study": "9"
}