Анонимные объекты и массивы в json

  • Автор темы Автор темы LeoKee
  • Дата начала Дата начала
LeoKee согласен, я облажался - не знал, что бывают массивы с анонимными ключами. В будущем буду умнее, спасибо за науку.
 
LeoKee
А как он тебе еще вернется ? Помоему ты не знаешь типов данных array и object в javascript

-~{}~ 24.09.09 21:13:

p.s. шо за анонимные ключи? -.-

-~{}~ 24.09.09 21:20:

$array = array('one', 'two');
var_dump(json_encode($array));

$array = array(0 => 'one', 1 => 'two');
var_dump(json_encode($array));

$array = array();
$array[] = 'one';
$array[] = 'two';
var_dump(json_encode($array));

$array = array();
$array['first_key'] = 'one';
$array['second_key'] = 'two';
var_dump(json_encode($array));
результат
string(13) "["one","two"]"
string(13) "["one","two"]"
string(13) "["one","two"]"
string(38) "{"first_key":"one","second_key":"two"}"
как и должно быть .. Или я не понял того, что нужно аффтору ?
 
а с указанием ключа, то этот массив json_encode возвращает в виде {"s":{"1":"15", .... и тд
Пример конечно гениальный. Неужели так сложно выложить два массива один в php, другой который ты хочешь получить в js. Не нужно давать примеры того что тебе не нужно.

И если ты указываешь ключ в виде строки, то вполне естественно что и в json он сохраняется. Если тебе ключ не нужен, то пиши $a[0] = $primer; $a[1] = $primer; и т.п.
Если ключи числовые и идут подряд, то они преобразовываются в js-массив, иначе в js-объект.
 
john.brown, автор видимо хочет, чтобы все ассоц массивы json преобразовывал в нумерованные. что мешает автору изначально так строить массивы мне лично не ясно...
 
Не, еще возможен такой неявный вариант, когда конвертация данных проходит без учета (не)строгости типизации. Например, из базы выдернули и сделали массив. Однако факта нежелания тс-а понять что ему тут объясняют, это не отменяет.
 
Cобственно об этом и идёт речь. Если бы я создавал эти массивы сам, то не возникло и вопроса. Но когда они уже есть, то в данном случае как быть?
 
Если есть возможность, исправить на этапе конвертации - это желательно. Если нет, то тут уже ответили.
 
коллективное помешательство
вы ему еще код отдебажте всем клубом :)
он же просто бревно
 
LeoKee
А что мешает на стороне js строить обработку не массива, а объекта?
 
Сверху