Heim  >  Artikel  >  Backend-Entwicklung  >  So konvertieren Sie ein Objekt in ein JSON-String-Array in PHP

So konvertieren Sie ein Objekt in ein JSON-String-Array in PHP

PHPz
PHPzOriginal
2023-04-20 10:11:41990Durchsuche

Bei der PHP-Programmierung müssen wir häufig Objekte in JSON-String-Arrays konvertieren. Dieser Vorgang kommt in der Webentwicklung sehr häufig vor und kann verwendet werden, um Daten an den Client oder Server zu übergeben und auch um Daten zwischen verschiedenen Anwendungen auszutauschen. In diesem Artikel erklären wir, wie man mit PHP ein Objekt in ein JSON-String-Array konvertiert.

1. Was ist JSON?

JSON steht für JavaScript Object Notation, ein leichtes Datenaustauschformat. JSON basiert auf der JavaScript-Syntax, ist jedoch nicht von JavaScript abhängig und kann daher problemlos in verschiedenen Programmiersprachen verwendet werden. JSON verwendet Schlüssel/Wert-Paare zur Darstellung von Daten und seine Datenstruktur ähnelt einem Wörterbuch in Python. JSON stellt Daten als Objekt (Object) oder Array (Array) dar. Ein JSON-Objekt ist eine Sammlung von Schlüssel/Wert-Paaren, wobei der Schlüssel eine Zeichenfolge ist und der Wert eine Zeichenfolge, eine Zahl, ein boolescher Wert, ein Array, ein Objekt usw. sein kann. Ein JSON-Array ist eine geordnete Sammlung, in der jedes Element ein Wert eines beliebigen Typs sein kann (einschließlich Objekte und Arrays).

Zweitens wird die json_encode-Funktion in PHP verwendet.

Die json_encode-Funktion in PHP wird verwendet, um PHP-Variablen in JSON-Formatzeichenfolgen zu konvertieren. Die Syntax lautet wie folgt:

json_encode($value, $options = 0, $ Depth = 512)

$value: Variable, die in das JSON-Format konvertiert werden kann, kann sein irgendetwas Datentypen, einschließlich Arrays, Objekte, boolesche Typen, Ganzzahlen, Gleitkommazahlen, Null usw.

$Optionen: Optionale Parameter, mit denen das Verhalten der Konvertierung bestimmt wird. Zu den gängigen Optionen gehören JSON_PRETTY_PRINT (formatierte Ausgabe), JSON_UNESCAPED_SLASHES (keine Umgehung von Backslashes) usw. Eine vollständige Liste finden Sie in der offiziellen PHP-Dokumentation.

$ Depth: Optionaler Parameter, der zur Steuerung der Konvertierungstiefe verwendet wird. Daten über diese Tiefe hinaus werden in Null konvertiert. Die Standardtiefe beträgt 512.

Die Funktion json_encode konvertiert die Variable in eine Zeichenfolge im JSON-Format, die über das Netzwerk übertragen oder in einer Datei gespeichert werden kann.

Dritten: Konvertieren Sie das Objekt in ein JSON-String-Array.

In PHP ist das Konvertieren des Objekts in ein JSON-String-Array sehr einfach. Wir müssen nur das Objekt in ein assoziatives Array konvertieren und dann die Funktion json_encode verwenden, um das Array in einen JSON-String umzuwandeln.

Hier ist ein einfaches Beispiel, das zeigt, wie man ein Objekt in PHP in ein JSON-String-Array konvertiert:

// Define a Person Class# 🎜🎜#class Person
{

public $name;
public $age;
public $city;

public function __construct($name, $age, $city) 
{
    $this->name = $name;
    $this->age = $age;
    $this->city = $city;
}</p>}<p></p>// Person instanziieren class<p>$person = new Person('Tom', 28, ' Shanghai');<br></p>//Objekt in assoziatives Array konvertieren<p>$arr ​​​​= [<br></p>
<pre class="brush:php;toolbar:false">'name' => $person->name,
'age' => $person->age,
'city' => $person->city,
];

// Array in JSON-String konvertieren

$json = json_encode($arr);

// JSON-String drucken

echo $json;
?> ;

Das Ausgabeergebnis des obigen Codes ist:

{"name": "Tom", "age":28, "city": "Shanghai"}

#🎜 🎜#Im obigen Beispiel definieren wir zunächst eine Person-Klasse und instanziieren ein Objekt. Anschließend konvertieren wir das Objekt in ein assoziatives Array und verwenden die Funktion json_encode, um das Array in einen JSON-String zu konvertieren. Schließlich haben wir den JSON-String auf dem Bildschirm gedruckt.

Viertens: Konvertieren Sie verschachtelte Objekte in JSON-String-Arrays

Wenn Sie verschachtelte Objekte in JSON-String-Arrays konvertieren möchten, müssen Sie den gesamten Objektbaum rekursiv durchlaufen und jedes Unterobjekt konvertieren -object wird in ein assoziatives Array konvertiert. Hier ist ein Beispiel, das zeigt, wie ein verschachteltes Objekt in ein JSON-String-Array konvertiert wird:

// Define a Person class

class Person
{

public $name;
public $age;
public $city;

public function __construct($name, $age, $city) 
{
    $this->name = $name;
    $this->age = $age;
    $this->city = $city;
}<br>}</p>
<p>// Definieren Sie eine Order-Klasse</p>class Order<p>{<br></p>
<pre class="brush:php;toolbar:false">public $id;
public $customer;

public function __construct($id, $customer) 
{
    $this->id = $id;
    $this->customer = $customer;
}

}

// Personen- und Auftragsklassen instanziieren

$person = new Person('Tom', 28, 'Shanghai');

$order = new Order(1001, $person);# 🎜 🎜#
// Verschachtelte Objekte in JSON-String-Array konvertieren
$arr ​​​​= [

'id' => $order->id,
'customer' => [
    'name' => $order->customer->name,
    'age' => $order->customer->age,
    'city' => $order->customer->city,
],

];

// Array konvertieren Konvertieren in json string

$json = json_encode($arr);

// JSON-String drucken
echo $json;

?>#🎜🎜 ##🎜🎜 #Das Ausgabeergebnis des obigen Codes ist:


{"id":1001,"customer":{"name":"Tom", "age":28,"city": Shanghai "}}

Im obigen Beispiel haben wir zwei Klassen definiert, Person und Order, und ein Order-Objekt instanziiert. Anschließend konvertieren wir das verschachtelte Objekt in ein assoziatives Array und verwenden die Funktion json_encode, um das Array in einen JSON-String zu konvertieren. Schließlich haben wir den JSON-String auf dem Bildschirm gedruckt.

Fünf, Zusammenfassung

Das Konvertieren von Objekten in PHP in ein JSON-String-Array ist eine sehr praktische Fähigkeit, mit der Daten effektiv an den Client oder Server übergeben und Daten zwischen verschiedenen Anwendungen ausgetauscht werden können . In PHP können wir die Funktion json_encode verwenden, um ein Objekt in ein JSON-String-Array zu konvertieren. Wenn Sie ein verschachteltes Objekt in ein JSON-String-Array konvertieren möchten, müssen Sie den gesamten Objektbaum rekursiv durchlaufen und jedes Unterobjekt in ein assoziatives Array konvertieren. Ich hoffe, dieser Artikel ist für alle hilfreich.

Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein Objekt in ein JSON-String-Array in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn