Проблема с разбором JSON с Perl - PullRequest
4 голосов
/ 21 февраля 2011

У меня есть файл 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 отформатирован правильно, поэтому я не уверен, в чем дело.Есть предложения?

1 Ответ

15 голосов
/ 21 февраля 2011

Предполагая, что ваш вызов в JSON правильный, вам нужно сначала сохранить файл:

#!/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)};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...