Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much

Re: JSON Structure Question

by roboticus (Canon)
on May 23, 2013 at 13:10 UTC ( #1034945=note: print w/ replies, xml ) Need Help??

in reply to JSON Structure Question


Untested, but I'd try something like:

for my $key (sort keys %$data) { # $key should be 1, 2, then 3 here... for my $subject (sort keys {$data->{$key}) { # $subject should be subject1, then subject 2 here if ($subject eq "subject1") { print "$data->{$key}{$subject}\n"; } elsif ($subject eq "subject2" { # subject2 has arrayref of one item, # an href, with two keys: print "$data->{$key}{$subject}[0]{subject3}\n"; print "$data->{$key}{$subject}[0]{subject4}\n"; } } }


When your only tool is a hammer, all problems look like your thumb.

Comment on Re: JSON Structure Question
Download Code
Re^2: JSON Structure Question
by omegaweaponZ (Beadle) on May 23, 2013 at 15:36 UTC
    This is the closest to what I'm looking for, as I can generate all the hashes, but I have yet to get each value. Just to clarify, I already can get every other value within the parenthesis of each json line, So everything within 1 {} I can get! The issue is I actually want to record and store the value of 1 itself, and 2, and 3, and so on, in one giant for loop that encompasses my ability to grab the values of each array within, so they are all assigned line by line
      Figured it out, hash was the way to approach this. But simplistically, all I needed to do was:
      my %hash = %{ $data }; while (my ($key, $value) = each %hash) { print "$key : $value \n";
      Instant first level report out

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://1034945]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (12)
As of 2015-03-28 09:44 GMT
Find Nodes?
    Voting Booth?

    When putting a smiley right before a closing parenthesis, do you:

    Results (625 votes), past polls