use strict; use warnings 'all'; use JSON::MaybeXS ':all'; use MyClassA; use MyClassB; my $a = MyClassA->new(NAME => 'A instance'); my $b = MyClassB->new(NAME => 'B instance'); $a->setClassB($b); print JSON->new()->convert_blessed()->encode($a) . "\n";