У меня проблема с анализом json-объекта с perl, и я не знаю, исходит ли проблема из json или моего скрипта. Вот JSON:неправильная строка JSON, ни массив, ни объект, ни число, ни строка, ни атом
test.json
{
"count":3,
"entries":
[
{
"id":85,
"application":AuditExampleLogin1,
"user":admin,
"time":"2011-11-22T10:29:37.422Z",
"values":
null
},
{
"id":87,
"application":AuditExampleLogin1,
"user":admin,
"time":"2011-11-22T10:30:56.235Z",
"values":
null
},
{
"id":89,
"application":AuditExampleLogin1,
"user":admin,
"time":"2011-11-22T10:33:15.000Z",
"values":
null
}
]
}
Вот сценарий:
script.pl
#!/usr/bin/perl -w
use strict;
use JSON;
open FILE, 'test.json' or die "Could not open file inputfile: $!";
sysread(FILE, my $result, -s FILE);
close FILE or die "Could not close file: $!";
my @json = @{decode_json($result)};
И, наконец, ошибка я получаю:
ошибка
malformed JSON string, neither array, object, number, string or atom,
at character offset 86 (before "AuditExampleLogin1,\n...") at
./script.pl line 7.
Вопрос: Может ли кто-нибудь сказать мне, возникает ли проблема из json или моего сценария и что менять в любом случае?
FYI json is coming from Alfresco auditing api.
AFAIK это не действительный JSON, отсутствующим в кавычках значений. – Mat
Я имел дело с точно такой же проблемой. У меня вопрос к автору темы: как вы получаете доступ к переменным @json? Я продолжаю понимать, что @json - это HASH в памяти, но я не могу получить доступ к переменным или петлю через него. –