Правильный ли формат для json, что я сохраняю?
Нет, в JSON должна быть одна пара открывающейся "{" и закрывающейся "}" скобки.
Или мне как то надо переделать?(если переделать, то как)
Да, набудет переделать, как то так:
<?php
$arr = ['name' => $_POST['name'], 'number' => $_POST['number']];
//читаем данные из файла
$r_json = file_get_contents("data.json");
$arr_json = json_decode($r_json, true);
//склеить данные из файла и теми что получили из формы
$result = array_merge($arr_json, $arr);
//сохраняем данные в файл
$fp = fopen('data.json', 'a');
fwrite($fp, $json_data);
fclose($fp);
И вообще лучше сделать сохранение в базу данных и потом на странице отдавать чисто JSON, с помощью задания HTTP заголовков:
header("Content-type: application/json; charset=utf-8");