Задать вопрос
@edlirius
Инженер телекоммуникационной компании

Как правильно записать данные в JSON?

Здравствуйте, никак не могу понять как записать данные в JSON файл чтобы их потом корректно читать, подскажите где допустил ошибку?
Сам код PHP:
$user = "user213";
$token = "token213";
$d1 = array("user" => "$user", "token" => "$token");
$data[0] = $d1;
$inp = file_get_contents('tokens.json');
$tempArray = json_decode($inp);
array_push($tempArray, $data);
$jsonData = json_encode($tempArray);
file_put_contents('tokens.json', $jsonData);


На выходе получаю совсем не то что хотел:
[
    [{
        "user": "user212",
        "token": "token212"
    }],
    [{
        "user": "user213",
        "token": "token213"
    }]
]


Хотел бы получить это:

{
    "users": 
    [
        {
            "user": "user1",
            "token": "token1"
        },
        {
            "user": "user2",
            "token": "token2"
        }
    ]
}
  • Вопрос задан
  • 158 просмотров
Подписаться 1 Простой 2 комментария
Решения вопроса 1
v3shin
@v3shin
Веб-шаман
$data = ['users' => [$d1]];
...
$data['users'][] = $tempArray;
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
onenull0
@onenull0
в чём проблема просто завернуть в ассоциативный массив?
$jsonData = json_encode(["users" => $tempArray]);
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы