In PHP kann die Funktion json_decode einen JSON-String in ein Objekt oder Array in PHP analysieren, während die Funktion json_encode ein PHP-Objekt oder -Array in einen JSON-String konvertieren kann. Aber manchmal müssen wir JSON-Objekte in String-Array-Objekte konvertieren. Was sollen wir tun?
Angenommen, unser JSON-String sieht so aus:
{ "name": "Tom", "age": 18, "hobbies": ["reading", "running", "swimming"] }
Wir können ihn mit dem folgenden PHP-Code in ein String-Array-Objekt konvertieren:
$json = '{"name":"Tom","age":18,"hobbies":["reading","running","swimming"]}'; $data = json_decode($json, true); $keys = array_keys($data); $values = array_values($data); $str_arr = []; for ($i = 0; $i < count($keys); $i++) { if (is_array($values[$i])) { $str_arr[$keys[$i]] = json_encode($values[$i]); } else { $str_arr[$keys[$i]] = (string) $values[$i]; } } var_dump($str_arr);
Zuerst übergeben wir den JSON-String an die Funktion json_decode und zweitens bedeutet das Setzen dieses Parameters auf true Konvertieren des analysierten JSON in ein assoziatives Array.
Als nächstes verwenden wir die Funktion array_keys, um die Schlüsselnamen des assoziativen Arrays abzurufen, und die Funktion array_values, um die Werte des assoziativen Arrays abzurufen.
Dann durchlaufen wir alle Schlüsselnamen und -werte durch die for-Schleife und bestimmen, ob der Wert ein Array ist. Wenn der Wert ein Array ist, verwenden wir die Funktion json_encode, um ihn in einen JSON-String zu konvertieren. Wenn es sich nicht um einen Array handelt, verwenden wir eine Umwandlung, um ihn in einen String zu konvertieren.
Schließlich verwenden wir den Schlüsselnamen als Schlüssel und die Zeichenfolge als Wert, um ein neues assoziatives Array zu erstellen. Wenn Sie die Funktion var_dump zur Ausgabe der Ergebnisse verwenden, können Sie die folgende Ausgabe erhalten:
array(3) { ["name"]=> string(3) "Tom" ["age"]=> string(2) "18" ["hobbies"]=> string(28) "["reading","running","swimming"]" }
Wie Sie sehen können, haben wir das JSON-Objekt erfolgreich in ein String-Array-Objekt konvertiert. Der wichtigste Schritt besteht darin, das Array mit der Funktion json_encode in einen JSON-String zu konvertieren.
Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein JSON-Objekt in ein String-Array-Objekt in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!