【问题标题】:Trouble With Parsing JSON with Perl使用 Perl 解析 JSON 的问题
【发布时间】:2011-06-30 23:51:55
【问题描述】:

我有一个 JSON 文件,我正在尝试在 Perl 中解析它。到目前为止,我有:

use strict;
use warnings;
use JSON;

open my $fh, "/Users/arjunnayini/Desktop/map_data.json";   


my @decoded_json = @{decode_json($fh)};

但是我收到一个错误,我有一个: "格式错误的 JSON 字符串,既不是数组、对象、数字、字符串也不是原子,在字符偏移量 0 处(在 "GLOB(0x100804ed0)" 之前)"

我相当肯定 JSON 文件的格式正确,所以我不确定哪里出了问题。有什么建议吗?

【问题讨论】:

    标签: perl json parsing


    【解决方案1】:

    假设您对 JSON 的调用是正确的,您需要先 slurp 文件:

    #!/usr/bin/perl
    
    use strict;
    use warnings;
    use JSON;
    
    my $json;
    {
      local $/; #enable slurp
      open my $fh, "<", "/Users/arjunnayini/Desktop/map_data.json";
      $json = <$fh>;
    } 
    
    my @decoded_json = @{decode_json($json)};
    

    【讨论】:

    • 或:本地@ARGV = "/Users/arjunnayini/Desktop/map_data.json"; $json = ;
    • 是的,还有其他方法可以先在文件中啜饮。我的例子展示了一个常见的习语。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-12-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多