Публикация истинного значения JSON с Mojolicious
Я пытаюсь опубликовать следующий JSON с Mojo::UserAgent
use Mojo::UserAgent;
my $ua = Mojo::UserAgent->new;
my $ip = ...
$mojo->post( 'https://$ip:443/query' => json => { value=> True, Query => ... } );
Я получаю ошибку
Bareword "JSON::true" не допускается, пока "строгие сабы"
но если я установлю это True
оно интерпретируется как строка, а не как истинное значение JSON.
Любая идея, как опубликовать истинное значение JSON?
1 ответ
Вы можете использовать Mojo::JSON::true и Mojo::JSON::false для соответствующих значений JSON. Вы также можете использовать скалярные ссылки \1
для истинного и \0
за ложь, если хочешь. Perl undef
будет преобразован в ноль JSON.
Из документов Mojo:: JSON:
Литеральные имена будут переводиться в константы Mojo:: JSON или из них или аналогичное значение Perl.
true -> Mojo::JSON->true false -> Mojo::JSON->false null -> undef
Кроме того, скалярные ссылки будут использоваться для генерации логических значений в зависимости от того, являются ли их значения истинными или ложными.
\1 -> true \0 -> false