http://www.perlmonks.org?node_id=1017025


in reply to Re^3: How to use a json string with nested array and nested hash elements?
in thread How to use a json string with nested array and nested hash elements?

Thanks for the code samples! It's exactly what I needed.

I'm looking at what aitap wrote and what you wrote and I see one difference:

aitap & 7Stud: my @jsonarray = @{$decoded_json->{strarray}};

Anonymous Monk: my $strarray = $decoded_json->{strarray};

I am surprised by the use of a $variable (string) instead of an @variable (array). I expected to need the same variable as aitap and 7Stud mentioned. I will need to restudy the variables and references, it's been nearly 6 years since I last wrote programs.

Thank all of you for the explanations and examples. You have been very helpful.

  • Comment on Re^4: How to use a json string with nested array and nested hash elements?

Replies are listed 'Best First'.
Re^5: How to use a json string with nested array and nested hash elements?
by Anonymous Monk on Feb 05, 2013 at 05:43 UTC

    They dereference the array copying it to a new variable. This gives easier syntax, but the array is copied which might have performance implications. (They are very slight since the array is only a single element in this case.) Mine should have perhaps been named $strarray_aref since it was still a reference.

    All the variables I was using were references, hence a scalar $variable which get dereferenced with @{ } or %{ } or ->

    One thing I forgot to mention that the outermost loop in my code sample is pretty useless since the array is only a single element. It could be replaced with my $str = $strarray->[0];