Я пытаюсь понять, как правильно создать файл JSON и добавить к нему данные, вот мой PHP-код:
<?php
$jsonFile = "_users.json";
$username = $_GET["username"];
$email = $_GET["email"];
$objID = $_GET["objID"];
//Load the file
$jsonStr = file_get_contents($jsonFile);
//Decode the JSON data into a PHP array.
$array = json_decode($jsonStr, true);
if ($array != null) {
$arrNew['ObjID']++;
$arrNew['username'] = $username;
$arrNew['email'] = $email;
array_push($array, $arrNew);
} else {
$arrNew = [];
$array['ObjID'] = 0;
$array['username'] = $username;
$array['email'] = $email;
array_push($array, $arrNew);
}
// Encode the array back into a JSON string and save it.
$jsonData = json_encode($array);
file_put_contents($jsonFile, $jsonData);
// echo data
echo $jsonData;
?>
Если я обновлю URL в своем браузере, вызвав мой php-файл, яполучить этот вывод, если я пойду на example.com/_users.json
{
"0": [],
"1": {
"ObjID": 1,
"username": "bob",
"email": "b@doe.com"
},
"2": {
"ObjID": 1,
"username": "sarah",
"email": "b@doe.com"
},
"3": {
"ObjID": 1,
"username": "sarah",
"email": "b@doe.com"
},
"ObjID": 0,
"username": "bob",
"email": "b@doe.com"
}
Так что я могу сгенерировать файл .json, но мне нужно сделать кусок кода, чтобы выполнить следующую последовательность:
- Так как при первом запуске скрипта файл _users.json не существует, его нужно сгенерировать
- Создать JSON mainобъект
- Вставить 1-й объект внутрь основного объекта
- Добавить 2-й объект (все еще внутри основного объекта )
- и т. Д. С 3-м, 4-м и т. Д.
Поэтому мне нужно получить вывод, подобный следующему:
{ <-- Main Object starts
"1": { <-- 1st object inside the Main Object
"ObjID": 1,
"username": "bob",
"email": "b@doe.com"
},
"2": { <-- 2nd object
"ObjID": 1,
"username": "sarah",
"email": "s@doe.com"
}
} <-- Main Object closes
Я не могувыяснить, что я делаю неправильно в своем коде PHP.