Я преобразовал массив PHP в JSON, используя json_encode. Я проверил консоль, и объекты отображаются в массиве, но как отдельные объекты.
[ { Object { 03-13-2012="Jazz"}, Object { 07-19-2012="Pop"}, ... ]
Как преобразовать этот массив в один объект, как это (в PHP или jQuery):
Object { 03-13-2012="Jazz", 07-19-2012="Pop"}
Изменить: вот начало моего print_r для массива PHP:
Array ( [0] => Array ( [03-13-2012] => Jazz ) [1] => Array ( [07-19-2012] => Pop ) )
Не бойтесь петель
$output = array(); foreach($data as $v) { $output[key($v)] = current($v); } echo json_encode($output, 128);
Посмотреть демо-версию
В общем, вам нужно подготовить такой массив PHP, который затем должен быть json_encode и передан на сервер:
$data = array( '03-13-2012' => 'Jazz', '07-19-2012' => 'Pop', ); echo json_encode( $data ); exit;
Вы захотите выполнить итерацию по индексированному массиву, создав в нем ключи ассоциативного массива в ключи во втором ассоциативном массиве.
Предположение: вы начинаете с строки JSON, и вы хотите получить строку JSON.
Предупреждение. Если вы столкнетесь с дубликатами, вы перезапишете.
Вот пример того, что я говорю:
<?php $foo = json_decode('[{"abc":"A123"},{"xyz":"B234"}]'); $bar = array(); foreach ($foo as $f) { foreach ($f as $k => $v) { $bar[$k] = $v; } } echo json_encode($foo)."\n"; echo json_encode($bar)."\n"; ?>