Auf andyrusterholz at g-m-a-i-l dot c-o-mder oben genannten Seite gibt es einen Beitrag von, der auch komplexe verschachtelte Arrays verarbeiten kann (wenn das Ihr Ding ist).
Dang, Homie, du warst sofort bei dieser Antwort =). Ich war begeistert von der einfachen Frage =)
Calvin Froedge
2
Ich habe diesen Code während ($ row = mysql_fetch_assoc ($ query_insert)) {$ control = array ('regione' => $ row ["regione"], 'totale' => $ row ["prezzi"]); } print (json_encode (% control)); aber retun {"regione": "Puglia", "totale": "5.15"} nicht [{..}, {..}]
Mimmo
2
Fügen Sie 1 als Zitronenreferenz hinzu. :-)
Ban-Geoengineering
Ich habe das getan, aber die Antwort, die ich mit der Funktion var_dumb erhalte, ist die folgende. Wie kann ich den String (59) loswerden? Zeichenfolge (59) "[{" Ergebnis ":" Erfolg "}, {" Nachricht ":" Daten aktualisiert! "}]"
James Smith
115
Verwenden Sie das native PHP json_encodewie folgt:
Entschuldigung, aber wenn ich will {"nome_array": [{"foo": "bar"}, {"foo": "baz"}]} ??
Mimmo
41
Einfach: Erstellen Sie einfach ein (verschachteltes) PHP-Array und rufen Sie json_encodees auf. Numerische Arrays werden in JSON-Listen ( []) übersetzt, assoziative Arrays und PHP-Objekte in Objekte ( {}). Beispiel:
Entschuldigung, aber wenn ich will {"nome_array": [{"foo": "bar"}, {"foo": "baz"}]} ??
Mimmo
2
Lies meinen Beitrag noch einmal. Wenn Sie möchten, dass etwas in ein JSON-Objekt übersetzt wird, machen Sie es in PHP zu einem assoziativen Array (wobei die Schlüssel Zeichenfolgen sind). Wenn Sie möchten, dass es in eine JSON-Liste übersetzt wird, machen Sie es zu einem einfachen Array (mit impliziten Ganzzahlschlüsseln). Der Wert jedes Array-Elements kann wiederum ein Array sein, was Sie möchten.
tdammers
Danke das hat auch meine Frage beantwortet.
Shawn Wernig
Ich habe das getan, aber die Antwort, die ich mit der Funktion var_dumb erhalte, ist die folgende. Wie kann ich den String (59) loswerden? Zeichenfolge (59) "[{" Ergebnis ":" Erfolg "}, {" Nachricht ":" Daten aktualisiert! "}]"
James Smith
13
Der beste Weg, den Sie jedes Mal gehen sollten, um json in PHP zu erstellen, besteht darin, zuerst Werte in das ASSOCIATIVE-Array zu konvertieren.
Danach einfach mit codieren json_encode($associativeArray). Ich denke, es ist der beste Weg, um json in PHP zu erstellen, denn wann immer wir Ergebnisse aus SQL-Abfragen in PHP abrufen, haben wir die meiste Zeit Werte mit fetch_assocFunktion erhalten, die auch ein assoziatives Array zurückgeben.
Ich habe eine grobe und einfache jsonOBJ-Klasse erstellt, die ich für meinen Code verwenden kann. PHP enthält keine JSON-Funktionen wie JavaScript / Node. Sie müssen anders iterieren, können aber hilfreich sein.
<?php
// define a JSON Object classclass jsonOBJ {private $_arr;private $_arrName;function __construct($arrName){
$this->_arrName = $arrName;
$this->_arr[$this->_arrName]= array();}function toArray(){return $this->_arr;}function toString(){return json_encode($this->_arr);}function push($newObjectElement){
$this->_arr[$this->_arrName][]= $newObjectElement;// array[$key]=$val;}functionadd($key,$val){
$this->_arr[$this->_arrName][]= array($key=>$val);}}// create an instance of the object
$jsonObj =new jsonOBJ("locations");// add items using one of two methods
$jsonObj->push(json_decode("{\"location\":\"TestLoc1\"}",true));// from a JSON String
$jsonObj->push(json_decode("{\"location\":\"TestLoc2\"}",true));
$jsonObj->add("location","TestLoc3");// from key:val pairs
echo "<pre>". print_r($jsonObj->toArray(),1)."</pre>";
echo "<br />". $jsonObj->toString();?>
// return a JSON Object (jsonOBJ) from the rowsfunctionParseRowsAsJSONObject($arrName, $rowRS){
$jsonArr =new jsonOBJ($arrName);// name of the json array
$rows = mysqli_num_rows($rowRS);if($rows >0){while($rows >0){
$rd = mysqli_fetch_assoc($rowRS);
$jsonArr->push($rd);
$rows--;}
mysqli_free_result($rowRS);}return $jsonArr->toArray();}
Antworten:
Easy Peasy Lemon Squeezy: http://www.php.net/manual/en/function.json-encode.php
Auf
andyrusterholz at g-m-a-i-l dot c-o-m
der oben genannten Seite gibt es einen Beitrag von, der auch komplexe verschachtelte Arrays verarbeiten kann (wenn das Ihr Ding ist).quelle
Verwenden Sie das native PHP
json_encode
wie folgt:Update : Um Ihre Frage im Kommentar zu beantworten. Du machst es so:
quelle
Einfach: Erstellen Sie einfach ein (verschachteltes) PHP-Array und rufen Sie
json_encode
es auf. Numerische Arrays werden in JSON-Listen ([]
) übersetzt, assoziative Arrays und PHP-Objekte in Objekte ({}
). Beispiel:Gibt Ihnen:
quelle
Der beste Weg, den Sie jedes Mal gehen sollten, um json in PHP zu erstellen, besteht darin, zuerst Werte in das ASSOCIATIVE-Array zu konvertieren.
Danach einfach mit codieren
json_encode($associativeArray)
. Ich denke, es ist der beste Weg, um json in PHP zu erstellen, denn wann immer wir Ergebnisse aus SQL-Abfragen in PHP abrufen, haben wir die meiste Zeit Werte mitfetch_assoc
Funktion erhalten, die auch ein assoziatives Array zurückgeben.... etc.
Nachdem.
quelle
Auch für Arrays können Sie kurze Anmerkungen verwenden:
quelle
So kann ich mit Hilfe der von @tdammers unten angegebenen Lösung vorgehen. Die folgende Zeile wird in jede Schleife eingefügt.
Und dann codieren Sie das Array mit der JSON-Codierungsfunktion
quelle
Wenn Sie nur diese einzelne Zeile eingeben, erhalten Sie ein JSON-Array.
echo json_encode($array);
Normalerweise
json_encode
lesen Sie Daten von einer iOS- oder Android-App. Stellen Sie daher sicher, dass Sie nur das genaue JSON-Array wiedergeben.quelle
quelle
quelle
Ich habe eine grobe und einfache jsonOBJ-Klasse erstellt, die ich für meinen Code verwenden kann. PHP enthält keine JSON-Funktionen wie JavaScript / Node. Sie müssen anders iterieren, können aber hilfreich sein.
Wird ausgegeben:
Konvertieren Sie zum Iterieren in ein normales Objekt:
Dann:
Ausgänge:
TestLoc1
TestLoc2
TestLoc3
Direkter Zugriff:
Ein praktisches Beispiel:
quelle