2016-11-04 9 views
0

Ich arbeite an einem Projekt, wo ein Benutzer ein Formular ausfüllen und mehrere Dokumente hochladen kann. Jedes Mal, wenn er ein Dokument hochlädt, ruft er einen Webservice auf, der eine JSON-Datei mit ID und Typ zurückgibt.Wie zu kodieren mehrere JSON-Objekt in PHP

Da er mehrere Dokumente hochladen kann, wird der Webservice mehrmals aufgerufen. Wenn er sein Formular vervollständigt und abschickt, muss ich ein JSON mit der Mehrfach-ID und dem Typ senden, die ich zuvor von JSON erhalten habe.

Dies ist die JSON, die ich brauche, um den Server zu senden, wenn der Benutzer schließlich das Formular abschickt:

"docls":[ 
     { 
      "id":"123", 
      "ty":"101", 
     }, 
     { 
      "id":"456", 
      "ty":"102", 
     } 
], 

Wie kodieren ich die JSON, wenn ich weiß nicht, wie viele Dateien der Benutzer hochgeladen hat?

P.S. Ich konnte bereits die Antwort vom ersten JSON in Form von 'id' und 'ty' bekommen. Muss ich es in einem Array speichern? Wenn ja, wie dekodiere ich es in JSON?

$json_string = array(
'docls' => array (  
         'id' => '123', 
         'ty' => '101',        
         ), 
        ); 
+0

sie einfach zu einem mehrdimensionalen Array hinzufügen und das Array kodieren. Eine nicht zusammenhängende Frage, was passiert, wenn der Benutzer sie ist? : o –

Antwort

0

Sie werden das Array mit php dann json_encode es bauen wollen, wenn Ihr bereit, sie an den Server

// Create an array to hold the documents 
$documents = []; 

// push each document into the array as the user does their thing 
$documents[$id] = $ty; 

// When the user is finished 
$json = json_encode($documents); 
+0

Nun, ich weiß nicht, wie viele Dokumente er hochlädt. Wenn er mehr als ein Dokument hochlädt, wie sende ich es dann mit dem gleichen JSON-Objekt '$ id' und '$ ty'? –

0

Nun zurück zu schicken, müssen Sie nur noch json_decode verwenden json zu konvertieren Zeichenfolge, die Sie an PHP-Array erhalten, und json_encode konvertieren konvertieren PHP-Array in JSON formatierte Zeichenfolge.

prüft dieses Beispiel:

<?php 

$json = '{"foo-bar": 12345}'; 

$obj = json_decode($json); 
print $obj->{'foo-bar'}; // 12345 

?> 

weitere Informationen here