use JSON::PP; my $json = JSON::PP->new; my $json_output=encode_json( { JSON1=> \@my_A } ); print $json_output; #### {"JSON1":["{\"name\":\"Name 1\",\"myArray\":[1,2,3]}","{\"name\":\"Name 2\",\"myArray\":[4,0,0]}","{\"name\":\"Name 3\",\"myArray\":[5,0,6]}"]} #### {"JSON1":[{"name":"Name 1","myArray":[1,2,3]},{"name":"Name 2","myArray":[4,0,0]},{"name":"Name 3","myArray":[5,0,6]}]}