微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在Perl中将简单的哈希转换为json?

我使用以下代码来编码一个简单的哈希
use JSON;

my $name = "test";
my $type = "A";
my $data = "1.1.1.1";
my $ttl  = 84600;

@rec_hash = ('name'=>$name,'type'=>$type,'data'=>$data,'ttl'=>$ttl);

但我得到以下错误

hash- or arrayref expected <not a simple scalar,use allow_nonref to allow this>

解决方法

你的代码似乎缺少一些重要的块,所以让我们添加一些丢失的位(我会在这里做一些假设),并修复我们走的事情。

添加缺少的样板。

#!/usr/bin/perl

use strict;
use warnings;

use JSON;

my $name = "test";
my $type = "A";
my $data = "1.1.1.1";
my $ttl  = 84600;

使哈希成为哈希,而不是数组,不要忘记本地化它:我的%

my %rec_hash = ('name'=>$name,'ttl'=>$ttl);

实际上使用encode_json方法(传递一个hashref):

my $json = encode_json \%rec_hash;

输出结果:

print $json;

而且,我可以期待没有错误

原文地址:https://www.jb51.cc/Perl/173207.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐