AsposeWordsCloud-WordsApi
view release on metacpan or search on metacpan
lib/AsposeWordsCloud/ApiClient.pm view on Meta::CPAN
211212213214215216217218219220221222223224225226227228229230231232233234235236{
my
(
$self
,
$class
,
$data
) =
@_
;
$log
->debugf(
"deserializing %s for %s"
,
$data
,
$class
);
if
(not
defined
$data
) {
return
undef
;
}
elsif
( (
substr
(
$class
, 0, 5)) eq
'HASH['
) {
#hash
if
(
$class
=~ /^HASH\[(.*),(.*)\]$/) {
my
(
$key_type
,
$type
) = ($1, $2);
my
%hash
;
my
$decoded_data
= decode_json
$data
;
foreach
my
$key
(
keys
%$decoded_data
) {
if
(
ref
$decoded_data
->{
$key
} eq
'HASH'
) {
$hash
{
$key
} =
$self
->deserialize(
$type
, encode_json
$decoded_data
->{
$key
});
}
else
{
$hash
{
$key
} =
$self
->deserialize(
$type
,
$decoded_data
->{
$key
});
}
}
return
\
%hash
;
}
else
{
#TODO log error
}
}
elsif
( (
substr
(
$class
, 0, 6)) eq
'ARRAY['
) {
# array of data
return
$data
if
$data
eq
'[]'
;
# return if empty array
( run in 0.295 second using v1.01-cache-2.11-cpan-0d8aa00de5b )