Моя проблема заключается в правильном размещении некоторого контента в JSON-файл через PHP. Я написал некоторый кодекс, но он не будет работать.
Вот мой код:
//Get Form Data
$formdata_host = array (
'server' => array ( $Server => array(
array (
'svc' => $_POST['valservice'],
'id'=> 1
)
))
);
//Get data from existing json file
$jsondata = file_get_contents($filename_moni);
//converts json data into array
$arr_data = json_decode($jsondata, true);
//Push details data to array
array_push($arr_data,$formdata_host);
//Reindex the Array
$arr_data = array_values($arr_data);
//Convert updated array to JSON
$jsondata = json_encode($arr_data, JSON_PRETTY_PRINT|JSON_NUMERIC_CHECK);
//write json data into data.json file
if(file_put_contents($filename_moni, $jsondata)) {
echo 'Daten erfolgreich gespeichert!';
}
else
echo "Error";
}
catch (Exception $e) {
echo 'Ausnahme entdeckt: ', $e->getMessage(), "\n";
}
Это JSON-контент, который я получаю после выполнения:
[
{
"server": {
"TEST": [
{
"svc": "TEST",
"id": 1
}
]
}
}
]
Но мне нужно это:
{
"server": {
"TESTSERVER": [
{"svc":"TESTSERVICE", "id":1}
]
}
}
Я знаю, что [] для массива, а {} для объекта.
Мне нужен сначала JSON-Object -> сервер, затем второй JSON-Object -> hostname, а затем JSON-Array, за которым следуют несколько JSON-объектов, заполненных именами и идентификаторами Servicenames и *.
Надеюсь, вы можете мне помочь, потому что этот выпуск сводит меня с ума прямо сейчас.