Я конвертирую возвращенный с сервера файл json в структуры данных perl - PullRequest
1 голос
/ 22 августа 2011

Я могу преобразовать жестко закодированную строку json в хеш-коды perl, однако, если я хочу преобразовать полный json-файл в структуры данных perl, которые впоследствии могут быть проанализированы любым способом, я получаю следующую ошибку. искаженная строка JSON, ни массив, ни объект, ни число, ни строка, ни атом, со смещением символа 0 (перед «(конец строки)») в строке json_vellai.pl 9

use JSON::PP;
$json= JSON::PP->new()

$json = $json->allow_singlequote([$enable]);

open (FH, "jsonsample.doc") or die "could not open the file\n";

#$fileContents = do { local $/;<FH>};

@fileContents = <FH>;

#print @fileContents;

$str = $json->allow_barekey->decode(@filecontents);

foreach $t (keys %$str)

{


print "\n $t -- $str->{$t}";

}

Вот так выглядит мой код .. Помогите, пожалуйста,

1 Ответ

2 голосов
/ 22 августа 2011

Мне кажется, что decode не хочет список, ему нужна скалярная строка.

Вы можете удалить файл:

undef $/;
$fileContents = <FH>;
...