2015-11-23 2 views
0

Я пытаюсь опубликовать следующий JSON с Mojo::UserAgentПроводка истинного значения JSON с Mojolicious

use Mojo::UserAgent; 

my $ua = Mojo::UserAgent->new; 
my $ip = ... 
$mojo->post('https://$ip:443/query' => json => { value=> True, Query => ... }); 

Я получаю сообщение об ошибке

Bareword «JSON :: правда» не имеет права, а «строгие подлодки "

, но если установить его в True это интерпретируется как строка, а не JSON верно значение.

Любая идея, как отправить JSON true значение?

ответ

5

Вы можете использовать Mojo :: JSON :: true и Mojo :: JSON :: false для соответствующих значений JSON. Вы также можете использовать скалярные ссылки \1 для истинных и \0 для ложных, если хотите. Perl undef преобразуется в нуль JSON.

От Mojo::JSON docs:

Символьные имена будут переведены и от Mojo :: JSON констант или аналогичного нативного значения Perl.

true -> Mojo::JSON->true 
false -> Mojo::JSON->false 
null -> undef 

В ссылках скалярных аддитивных будет использоваться для генерации булевых, основанный на, если их значения являются истинными или ложными.

\1 -> true 
\0 -> false 
Смежные вопросы