programing

Perl에서 단순 해시를 json으로 변환하는 방법

starjava 2023. 3. 18. 08:13
반응형

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 %

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

실제 사용encode_jsonmethod(hashref라고 부릅니다):

my $json = encode_json \%rec_hash;

결과를 출력합니다.

print $json;

그리고 그것은 내가 예상했던 대로 오류 없이 작동합니다.

해라%rec_hash = ...대신. @목록/배열을 나타냅니다.%해시를 나타냅니다.

언급URL : https://stackoverflow.com/questions/8463919/how-to-convert-a-simple-hash-to-json-in-perl

반응형