Я пытаюсь вернуть несколько массивов в один объект JSON и с некоторыми трудностями с синтаксисом. Приложение Android получает обновления из нескольких таблиц, которые я хочу получить в одном ответе.PHP json_encode несколько массивов в один объект
В настоящее время это, как я кодирующая различные наборы результатов:
$json=json_encode(array($table1, $table2, $table3, $table4, $table5, $table6));
Данные возвращаются в следующем формате:
[{"table1":[{...}]},{"table2":[{...}]},...]
В Android код, я хотел бы быть способный анализировать его как JSONObject, из которого я могу затем получить каждый массив по имени вместо того, чтобы разбирать его как JSONArray и извлекать каждый дополнительный массив по положению. Ответ JSON будет выглядеть следующим образом, вместо:
{{"table1":[{...}]},{"table2":[{...}]},...}
Кажется, все, что мне нужно сделать, это обернуть результаты массивов в объекте, вместо массива на стороне PHP, но хотя я сумел слепо булыжник вместе достаточно PHP-кода, чтобы получить это далеко, я не могу понять, что последний шаг.
Где код, который производит различные '$ table' значения? Как выглядят эти ценности? – JAAulde
для преобразования массива в объект только для 'json_encode ((object) array ...' – splash58
@JAAulde значения $ table производятся следующим образом: $ table1 ['table1'] = $ stmt_table1-> fetchAll (PDO :: FETCH_ASSOC); – asorenson