JSON: PP кодирует только первый элемент в массиве - PullRequest
1 голос
/ 28 ноября 2011

Я помещаю свои значения в массив ...

while ( ... ) {
  push @array, { label => "label", value => "value" };
}

Кажется, это работает.

Тогда ...

use JSON::PP ;
print JSON::PP->new->utf8->encode(@array) ; 

толькогенерирует ...

{"value":"value","label":"label"}

но мне нужно ...

[{"value":"value","label":"label"}{"value":"value","label":"label"} etc.. ]

(выводится каждый элемент массива, а не только первый ...)

Есть идеи?

1 Ответ

3 голосов
/ 28 ноября 2011

Попробуйте передать ссылку на массив:

print JSON::PP->new->utf8->encode(\@array) ; 

Кодирование задокументировано для получения скаляра, а не массива (поэтому вам нужна ссылка, которая является скаляром).

...