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

Haselnuss992
 2019-04-11 15:04
#189954 #189954
User since
2018-06-28
9 Artikel
BenutzerIn
[default_avatar]
Hallo haj, danke für deine schnelle Antwort!
Quote
Kann es sein, dass Dein letztes Beispiel nicht ganz richtig wiedergegeben ist? $VAR1 = { { %HASH1 }, { %HASH2 } } ist eine seltsame Konstruktion, in der der "stringifizierte" Wert von %HASH1, also so etwas wie "HASH(0x56440b2b5420)" als Key für die Referenz auf %HASH2 benutzt wird.


Das stimmt, da hatte ich aus dem falschem Fenster kopiert...


Quote
In dem Fall reicht eine Untersuchung des Typs von $VAR1 aus:


Vielen lieben Dank, es funktioniert!
Damit wäre mir aufjedenfall schoneinmal weitergeholfen.

Jetzt ist mir noch klar geworden, dass ich name und id in Beziehung zueinander bringen muss.
Damit ich jeder id den korrekten namen zuordnen kann, würde ich diese gerne in ein hash übergeben, sodass ich über die ID auf den Namen zugreifen kann.

In meinem Beispiel wäre das kein Problem, da ich jeden namen der jeweils folgenden id zuordnen könnte.
Nun habe ich in meiner Ausgabe aber noch verschachtelte Blöcke in welchen der schlüssel 'name' ebenfalls existiert und jetzt bin ich nochmals ratlos:

Hier nochmal ein Auszug:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
$VAR1 = [
{
'name' => "wert",
'key' => 'wert',
'self' => 'wert',
'projectTypeKey' => 'wert',
'id' => 'wert',
'expand' => 'wert',
'avatarUrls' => {
'16x16' => 'wert',
'32x32' => 'wert'
},
'projectCategory' => {
'self' => 'wert',
'description' => 'wert',
'name' => 'wert',
'id' => 'wert'
}
},
{
'name' => "wert",
'key' => 'wert',
'self' => 'wert',
'projectTypeKey' => 'wert',
'id' => 'wert',
'avatarUrls' => {
'32x32' => 'wert',
'16x16' => 'wert'
},
'expand' => 'wert',
'projectCategory' => {
'id' => 'wert',
'self' => 'wert',
'description' => 'wert',
'name' => 'wert'
}
},
{
'name' => "wert",
'key' => 'wert',
'self' => 'wert',
'projectTypeKey' => 'wert',
'id' => 'wert',
'expand' => 'wert',
'avatarUrls' => {
'32x32' => 'wert',
'16x16' => 'wert'
},
...
];


Benötigen tu ich lediglich die namen->ids, welche oberhalb des Parameters 'expand' gelistet sind.

Gibt es hier auch eine effiziente Lösung über die Hashreferenzen oder muss ich mir hier doch nochmal etwas zusammenbasteln, um die Ausgabe von den nichtbenötigten blöcken zu bereinigen?

Vielen Dank, schonmal für die Unterstützung, die eigentliche Frage wurde ja bereits gelöst =) (Y);

View full thread JSON ausgabe mit Perl verarbeiten