&引用;,或}解析对象/哈希时应为“;解析JSON文件时出错

&引用;,或}解析对象/哈希时应为“;解析JSON文件时出错,json,perl,Json,Perl,我试图打印一个大的.json文件的“name”字段的内容,但在解析过程中遇到了问题。到目前为止,我已经尝试使用“ 或者像asjo建议的那样使用File::Slurp。试着在解码之前打印$ejson,看看它是否包含您认为它的功能。然后查找File::Slurp:-)I..哦,我现在明白了为什么它不起作用,但为什么在{开始时?如果我Slurp它会被修复吗?您在哪里看到这个“random”;'“?再一次,另一个愚蠢的错误。“;”来自Data::Dumper。我现在明白了,它与File::Slurp一起

我试图打印一个大的.json文件的“name”字段的内容,但在解析过程中遇到了问题。到目前为止,我已经尝试使用“
或者像asjo建议的那样使用
File::Slurp

试着在解码之前打印$ejson,看看它是否包含您认为它的功能。然后查找File::Slurp:-)I..哦,我现在明白了为什么它不起作用,但为什么在{开始时?如果我Slurp它会被修复吗?您在哪里看到这个“random”;'“?再一次,另一个愚蠢的错误。“;”来自Data::Dumper。我现在明白了,它与File::Slurp一起工作。谢谢。很高兴您找到了解决方案。”你自己!天哪,这是一个愚蠢的错误。我上次解析JSON是在我使用reddit API时,它将完整的JSON文件返回到单个变量中。我完全忘记了上下文。谢谢你的澄清。
#!/usr/bin/perl

use strict;
use warnings;
use JSON;

open(my $fh, "<:encoding(UTF-8)", "pokedex.json");
my $ejson = <$fh>;
close($fh);

my $djson = decode_json $ejson;
for(my $i=1;$i<=718;$i++){
    print $djson->{"$i"}{"name"}, "\n";
}
my $ejson = <$fh>;
my $ejson = join '', <$fh>;

my $ejson = do {
    local $/;
    <$fh>;
};