dol*_*men 5 perl json yaml boolean
我有一个包含布尔值的YAML文档:
---
ok: false
Run Code Online (Sandbox Code Playgroud)
我想在Perl 5中加载它并保留'boolean'类型,以便以后能够使用true/ falsevalues,而不是""/ 将文档正确地序列化为JSON "1".
我写的以下转换器无法保留布尔值:
#!/usr/bin/env perl
use strict;
use warnings;
use YAML::XS qw<LoadFile>;
use JSON::MaybeXS ();
print JSON::MaybeXS->new->ascii->pretty->canonical->encode(LoadFile shift)
Run Code Online (Sandbox Code Playgroud)
这是(损坏的)输出:
{
"fine" : ""
}
Run Code Online (Sandbox Code Playgroud)
我希望在某些YAML加载器中存在一些钩子来映射true/ false到JSON::true/ JSON::false或$Types::Serialiser::true/ $Types::Serialiser::false.
如果存在这样的 YAML 模块,那么它一定是一个相当不起眼的模块。您在这里使用的YAML::XS只是将 YAML 数据中的布尔值转换为标准内部值PL_sv_yes和PL_sv_no,而这些值(据我所知)不可能被识别为特殊值。
YAML::XS从积极的一面来看,修补布尔值Types::Serialiser并发送拉取请求似乎非常简单。
| 归档时间: |
|
| 查看次数: |
1376 次 |
| 最近记录: |