Ste*_*eve 29 perl hash encoding json utf-8
我正在使用以下代码来编码一个简单的哈希
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);
Run Code Online (Sandbox Code Playgroud)
但是我收到以下错误:
hash- or arrayref expected <not a simple scalar, use allow_nonref to allow this>
Run Code Online (Sandbox Code Playgroud)
Que*_*tin 58
你的代码似乎缺少一些重要的块,所以让我们添加缺少的位(我将在这里做一些假设)并解决我们的问题.
添加缺少的样板.
#!/usr/bin/perl
use strict;
use warnings;
use JSON;
my $name = "test";
my $type = "A";
my $data = "1.1.1.1";
my $ttl = 84600;
Run Code Online (Sandbox Code Playgroud)
使哈希成为哈希而不是数组,并且不要忘记将其本地化: my %
my %rec_hash = ('name'=>$name, 'type'=>$type,'data'=>$data,'ttl'=>$ttl);
Run Code Online (Sandbox Code Playgroud)
实际上使用encode_json
方法(传递hashref):
my $json = encode_json \%rec_hash;
Run Code Online (Sandbox Code Playgroud)
输出结果:
print $json;
Run Code Online (Sandbox Code Playgroud)
而这正如我所料,没有错误.
归档时间: |
|
查看次数: |
53952 次 |
最近记录: |