Мой JSON-файл содержит около 3000 строк контента, как показано ниже:Perl быстро JSON программа парсер
{
"product": [
{
"data": [
{
"number":"111",
"price":"3170",
"stock":"1"
},
{
"number":"222",
"price":"3170",
"stock":"1"
},
{
"number":"333",
"price":"3749",
"stock":"1"
}
],
"object":"apple",
"id":"54529"
},
{
"data":[],
"object":"orange",
"id":"54524"
}
]
}
Мне нужно, чтобы разобрать их очень быстро.
Ниже приведен мой код. Это не работает ..
use strict;
use warnings;
use JSON qw();
my $filename = 'mob.json';
my $json_text = do
{
open(my $json_fh, "<:encoding(UTF-8)", $filename);
local $/;
<$json_fh>
};
my $json = JSON->new;
my $data = $json->decode($json_text);
for (@{$data->{'product'}})
{
print $_->{data}[0]->{number};
}
Мне нужно, чтобы получить number
, price
, stock
и object
, id
, а также.
Существует много способов, которыми можно сказать, что код не работает. Каким образом ваш код не работает? – mob
'Использование неинициализированного значения при печати в C: \ Users \ Admin \ Desktop \ Scripts \ jsonfile.pl строка 20. 111' Это то, что я получаю ... и он останавливается там. – user2186465
http://search.cpan.org/~mlehmann/JSON-XS-3.01/XS.pm#SPEED –