Yii2 rest api, название массива

371
10 декабря 2016, 10:07

Добрый день!

Дело такое, сделал я значит этот API для нашего IOS-ера, а он парится что у массива которую я ему отдаю нету названия. Примерно он выглядит вот так у меня

[
    {"name":"admin"}
]

, а он хочет чтобы это было так

[
    user:{"name":"admin"}
]

Как мне дать имя массиву?

Спасибо!

Answer 1

При преобразовании в json, ассоциативные массивы преобразовываются в объекты, для получения массива в json, на входе должен быть индексный массив ключи которого идут по порядку, в противном случае будет создан объект. Поэтому вариант [user:{"name":"admin"}] невозможен, так как он является ассоциативным, вместо него можно получить лишь {"user":{"name":"admin"}}

//{"name":"admin"}
echo json_encode([
    'name' => 'admin',
]);
//[{"name":"admin"}]
echo json_encode([
    [
        'name' => 'admin',
    ]
]);
//{"user":{"name":"admin"}}
echo json_encode([
    'user' => [
        'name' => 'admin',
    ],
]);
//["name","admin"]
echo json_encode([
    0 => 'name',
    1 => 'admin',
]);
//{"1":"name","0":"admin"}
echo json_encode([
    1 => 'name',
    0 => 'admin',
]);
//{"user":[{"name":"admin"}]}
echo json_encode([
    'user' => [
        [
            'name' => 'admin',
        ],
    ],
]);
Answer 2

Как мне дать имя массиву?

{"user" : [ {"name" : "admin" } ]}

ответ взят из комментария. спасибо @VAndrJ

READ ALSO
php-google-spreadsheet-client

php-google-spreadsheet-client

Установил через composer библиотеку php-google-spreadsheet-client для работы с google таблицамиПри попытке обратится к таблице получаю ошибку

198
Отправка письма PHP

Отправка письма PHP

Имеется HTML разметка

341
Добавить код HTML после ссылки

Добавить код HTML после ссылки

На веб-страницах сайта существуют ссылки на архивы для загрузки файла

176