in reply to Re^2: Dynamic Dereferencing
in thread Dynamic Dereferencing
If you know your data then maybe a simplified version of the code in Data::Diver is all you need.
poj#!perl use strict; use JSON qw 'decode_json'; my $json = join '',<DATA>; $json =~ s/\n//g; my $data_structure = decode_json($json); my @elements = qw(userName displayName meta.created ); for my $item ( @{ $data_structure->{Resources} } ){ for my $e (@elements){ my $ref = $item; my @keys = split '\.',$e; while (@keys){ my $key = shift @keys; $ref = $ref->{$key}; } printf "$e = %s\n",$ref; } print "\n"; } __DATA__ {"Resources":[ {"id":"1234567","userName":"user1@test.com", "meta":{"created":"2018-04-16T11:57:19.376Z"},"displayName":"User 1"}, {"id":"1234568","userName":"user2@test.com", "meta":{"created":"2018-04-16T11:59:27.111Z"},"displayName":"User 2"}, {"id":"12345679","userName":"user3@test.com", "meta":{"created":"2018-11-21T14:49:33.821Z"},"displayName":"User 3"} ],"schemas":["urn:ietf:params:scim:api:messages:2.0:ListResponse"], "startIndex":1,"itemsPerPage":50,"totalResults":3}
|
|---|