qod*_*nja 2 perl hash json pack
我想在数据库中将哈希保存为打包字符串,我得到包装部分确定,但是我遇到了问题
测试哈希
my $hash = {
test_string => 'apples,bananas,oranges',
test_subhash => { like => 'apples' },
test_subarray => [ red, yellow, orange ]
}
Run Code Online (Sandbox Code Playgroud)
我想也许我可以在这个例子中使用JSON:XS 将哈希转换为json字符串,然后打包JSON字符串......
关于这种方法的想法?
Storable能够非常精确地存储Perl结构.如果你需要记住某些东西是一个弱的参考,等等,你想要可存储.否则,我会避免它.
JSON(Cpanel :: JSON :: XS)和YAML是不错的选择.
用法:
my $for_the_db = encode_json($hash);
my $hash = decode_json($from_the_db);
Run Code Online (Sandbox Code Playgroud)
我不知道"包装"是什么意思.由Cpanel生成的字符串:: JSON :: XS encode_json可以按原样存储到BLOB字段中,而生成的字符串Cpanel::JSON::XS->new->encode可以按原样存储到TEXT字段中.