2016-06-16 20 views
0

Ich verwende derzeit die Adobe Echosign API, um einige Daten in einer Tabelle zu formatieren. Die Ausgabe sieht folgendermaßen aus:Werte aus mehreren Arrays extrahieren

Ich bin durch mehrere Vereinbarungen durchlaufen und dies gibt sie jeweils als ein separates Array aus.

Dies ist wahrscheinlich eine wirklich grundlegende Frage, aber wie würde ich durch jedes Array gehen und extrahieren sagen die 'TeilnehmerEmail', 'Name' und 'Status' Werte?

Danke!

Antwort

0

Je nachdem, welche Programmiersprache Sie verwenden, gibt es viele Möglichkeiten, damit umzugehen. In JS könnten Sie dieses JSON-Array in JS-Array von Objekten konvertieren und danach können Sie mit JS-Verarbeitung darauf zugreifen.

Beispiel für JS wäre:

var input = 'yourJSONstring'; 
 
var jsObject = JSON.parse(input); 
 
for(var foo in jsObject){ 
 
\t var name = foo.name; 
 
    var participantEmail= foo.events[0].participantEmail; 
 
    var status = foo.participantEmail[0].status; 
 
}

0

der Annahme, dass Sie eine Reihe von Vereinbarungen mit dem Format haben Sie zur Verfügung gestellt, können Sie etwas tun könnte:

<?php 

$json = '[{ 
    "agreementId": "", 
    "events": [ 
    { 
     "actingUserEmail": "", 
     "actingUserIpAddress": "", 
     "date": "date", 
     "description": "", 
     "participantEmail": "an email", 
     "type": "", 
     "versionId": "" 
    } 
    ], 
    "locale": "", 
    "modifiable": false, 
    "name": "a name", 
    "nextParticipantSetInfos": [ 
    { 
     "nextParticipantSetMemberInfos": [ 
     { 
      "email": "", 
      "waitingSince": "date" 
     } 
     ] 
    } 
    ], 
    "participantSetInfos": [ 
    { 
     "participantSetId": "", 
     "participantSetMemberInfos": [ 
     { 
      "email": "", 
      "participantId": "" 
     } 
     ], 
     "roles": [ 
     "" 
     ], 
     "status": "a status" 
    } 
    ], 
    "status": "", 
    "vaultingEnabled": false 
}]'; 

$parsed = json_decode($json, true); 

$names = []; 
foreach($parsed as $agreement) { 

    $names[] = $agreement['name']; 

    $emails = []; 
    foreach($agreement['events'] as $event) { 
     $emails[] = $event['participantEmail']; 
    } 

    $status = []; 
    foreach($agreement['participantSetInfos'] as $participant) { 
     $status[] = $participant['status']; 
    } 

} 

var_dump($names); 
var_dump($emails); 
var_dump($status); 

Natürlich sollten Sie einige Überprüfungen auf leere Werte durchführen und so, aber nur um Ihnen eine Idee zu geben. Da Sie die Beziehung zwischen Name, Status und E-Mail nicht klären, habe ich sie nur in separaten Arrays genommen, aber das ist nichts, was nicht mit einer Array-Behandlung behoben werden kann.

Hoffe, das hilft!

Verwandte Themen