gpt4 book ai didi

json - 解析 JSON 文件时出现 ", or } expected while parsing object/hash"错误

转载 作者:行者123 更新时间:2023-12-04 18:41:35 25 4
gpt4 key购买 nike

我正在尝试打印大型 .json 文件的“名称”字段的内容,但在解析时遇到了问题。到目前为止,我已经尝试使用“<:encoding(UTF-8)”打开 .json 文件,但到目前为止还没有运气。

这是我的代码,错误在第 11 行:

#!/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";
}

错误本身是 , or } expected while parsing object/hash, at character offset 1 (before "\n") at jsonreverser.pl line 11.
我已经通过在线验证程序运行了 .json 文件,它说它的格式正确。这是json文件的链接: http://vps.zazez.com/junk/pokedex.json

最佳答案

my $ejson = <$fh>;

是标量上下文中的赋值,因此您只将输入文件的第一行加载到 $ejson .

有很多方法可以将整个输入流加载到标量中:
my $ejson = join '', <$fh>;

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

或使用 File::Slurp正如 asjo 所建议的那样。

关于json - 解析 JSON 文件时出现 ", or } expected while parsing object/hash"错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24959739/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com