Thread JSON ausgabe mit Perl verarbeiten (5 answers)
Opened by Haselnuss992 at 2019-04-11 11:06

Haselnuss992
 2019-04-11 11:06
#189952 #189952
User since
2018-06-28
9 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,

ich bin da auf ein blödes Problem gestoßen...
Und zwar greife ich über ein Perlscript auf eine REST API zu, um bestimmte Datensätze anzufragen.
Diese Datensätze werden mir in JSON übergeben und sehen nach der Aufbereitung mit decode & dumper so aus :

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$VAR1 = { 
'components' => [
{
'name' => 'ABC',
'self' => 'https://123',
'isAssigneeTypeValid' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
'id' => '123456789'
},
{
'name' => 'BBB',
'self' => 'https://11223',
'id' => '456789',
'isAssigneeTypeValid' => $VAR1->{'components'}[0]{'isAssigneeTypeValid'}
},
]
}


Jetzt kann ich normalerweise auf die Hashreferenzen zugreifen.
In diesem Fall kann ich über 'components' auf die darunterliegenden Daten zugreifen bspw. :
(Ich benutze das REST::Client und JSON - Modul in meinem Script um die Verbindung aufzubauen und die Daten anzufragen.)

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
...
...
my $client = REST::Client->new();
$client->addHeader('Content-Type', 'application/json');
$client = $client->GET( $url, ($headers));
chomp(my $json = $client->responseContent());  
my $ref = JSON->new->utf8->decode($json);
for my $zeile( @{$ref->{components}} ){
   print"$zeile->{name}\n";
}

Ausgabe :
Code: (dl )
1
2
ABC
BBB


Alles schön und gut... nun zu meinem Problem :
Bei manchen Abfragen erhalte ich keine Schlüsselwörter, um auf die Werte zugreifen zu können.
Um beim selben Beispiel zu bleiben :

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
$VAR1 = { 
{
'name' => 'ABC',
'self' => 'https://123',
'isAssigneeTypeValid' => bless( do{\(my $o = 0)}, 'JSON::PP::Boolean' ),
'id' => '123456789'
},
{
'name' => 'BBB',
'self' => 'https://11223',
'id' => '456789',
'isAssigneeTypeValid' => $VAR1->{'components'}[0]{'isAssigneeTypeValid'}
},
}


hat da jemand eine Idee, wie ich jetzt an die namen & die ids komme?

Ich hoffe ich konnte mich verständlich artikulieren =D
Last edited: 2019-04-11 11:29:40 +0200 (CEST)

View full thread JSON ausgabe mit Perl verarbeiten