In der Webentwicklung ist das JSON-Format sehr verbreitet, da es die Übertragung und den Austausch von Daten zwischen verschiedenen Programmiersprachen ermöglicht. Die PHP-Sprache bietet außerdem eine sehr praktische JSON-Kodierungs- und Dekodierungsmethode, mit der JSON-Strings in PHP-Arrays oder -Objekte sowie PHP-Arrays oder -Objekte in JSON-Strings konvertiert werden können. In diesem Artikel werden Methoden in PHP zum Konvertieren von JSON-Strings in Arrays oder Objekte vorgestellt und Arrays oder Objekte weiter in Arrays oder Objekte konvertiert.
Verwenden Sie die in PHP integrierte Funktion json_decode()
, um Zeichenfolgen im JSON-Format in PHP-Arrays zu konvertieren. Die Funktion json_decode()
empfängt zwei Parameter. Der erste Parameter ist die zu konvertierende JSON-Formatzeichenfolge. Wenn dieser Parameter auf „true“ gesetzt ist, wird das JSON-Format konvertiert . Dekodiert in ein assoziatives Array oder gibt ein Objekt zurück, wenn dieser Parameter falsch ist. Standardmäßig ist dieser Parameter falsch. json_decode()
函数可以将JSON格式的字符串转换为PHP数组。json_decode()
函数接收两个参数,第一个参数是要转换的JSON格式的字符串,第二个参数是一个布尔值,如果该参数设置为true,则将将JSON解码为关联数组,如果该参数为false,则返回一个对象。默认情况下该参数为false。
下面是一个使用json_decode()
函数将JSON转换为数组的例子:
$jsonStr = '{"name":"Jack","age":20}'; $arr = json_decode($jsonStr, true); print_r($arr);
以上代码将输出一个以键值对表示的数组:
Array ( [name] => Jack [age] => 20 )
如果不指定json_decode()
函数的第二个参数,则将返回一个PHP对象。使用json_decode()
函数将JSON格式的字符串转换为PHP对象非常简单,只需要传入JSON格式字符串即可。
下面是一个将JSON格式字符串转为PHP对象的例子:
$jsonStr = '{"name":"Jack","age":20}'; $obj = json_decode($jsonStr); var_dump($obj);
以上代码将输出一个PHP对象:
object(stdClass)#1 (2) { ["name"]=> string(4) "Jack" ["age"]=> int(20) }
使用PHP内置的json_encode()
函数可以将PHP数组转化为JSON字符串。json_encode()
函数接收一个参数,即要转换的PHP数组,在将PHP数组转换为JSON字符串时,json_encode()
函数会自动将键值对转换为JSON字符串中的键值对。
下面是一个将PHP数组转换为JSON字符串的例子:
$arr = array("name"=>"Jack", "age"=>20); $jsonStr = json_encode($arr); echo $jsonStr;
以上代码将输出以下JSON格式的字符串:
{"name":"Jack","age":20}
用内置的json_encode()
函数将PHP对象转化为JSON字符串也很简单。在转换前,需要使用json_encode()
函数的另一个参数,即JSON_PRETTY_PRINT
常量,它用于设置将JSON字符串格式化为易于阅读且更人类友好的格式。
下面是一个将PHP对象转换为JSON字符串的例子:
class Person { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $person = new Person("Jack", 20); $jsonStr = json_encode($person, JSON_PRETTY_PRINT); echo $jsonStr;
以上代码将输出以下易于阅读的JSON格式的字符串:
{ "name": "Jack", "age": 20 }
将一个包含多个对象的数组转换为JSON格式的字符串,可以使用json_encode()
函数。而将JSON格式的字符串转换回PHP数组对象,可以使用json_decode()
函数。下面是一个将包含多个对象的数组转换成JSON格式的例子:
class Person { public $name; public $age; public function __construct($name, $age) { $this->name = $name; $this->age = $age; } } $person1 = new Person("Jack", 20); $person2 = new Person("Tom", 25); $person3 = new Person("Lucy", 18); $arr = array($person1, $person2, $person3); $jsonStr = json_encode($arr, JSON_PRETTY_PRINT); echo $jsonStr;
以上代码将输出以下JSON格式的字符串:
[ { "name": "Jack", "age": 20 }, { "name": "Tom", "age": 25 }, { "name": "Lucy", "age": 18 } ]
接下来将这个包含多个对象的JSON格式的字符串转换回PHP数组对象:
$jsonStr = '[{"name":"Jack","age":20},{"name":"Tom","age":25},{"name":"Lucy","age":18}]'; $arr = json_decode($jsonStr); print_r($arr);
运行以上代码,将输出以下PHP数组对象:
Array ( [0] => stdClass Object ( [name] => Jack [age] => 20 ) [1] => stdClass Object ( [name] => Tom [age] => 25 ) [2] => stdClass Object ( [name] => Lucy [age] => 18 ) )
由于使用json_decode()
函数的第二个参数没有指定,所以将返回一个PHP对象数组。如果要将JSON解码为PHP关联数组,则需要将第二个参数设置为true
json_decode()
zum Konvertieren von JSON in ein Array: rrreee
Der obige Code gibt ein Array aus, das durch Schlüssel-Wert-Paare dargestellt wird: 🎜rrreeejson_decode()
nicht angeben, wird ein PHP-Objekt zurückgegeben. Es ist sehr einfach, die Funktion json_decode()
zu verwenden, um eine JSON-Formatzeichenfolge in ein PHP-Objekt zu konvertieren. Sie müssen nur die JSON-Formatzeichenfolge übergeben. 🎜🎜Das Folgende ist ein Beispiel für die Konvertierung einer JSON-Formatzeichenfolge in ein PHP-Objekt: 🎜rrreee🎜Der obige Code gibt ein PHP-Objekt aus: 🎜rrreeejson_encode()
kann PHP-Arrays in JSON-Strings konvertieren. Die Funktion json_encode()
empfängt einen Parameter, nämlich das zu konvertierende PHP-Array. Bei der Konvertierung des PHP-Arrays in einen JSON-String wird die Funktion json_encode()
automatisch konvertiert Das Schlüssel-Wert-Paar wird in Schlüssel-Wert-Paare in einer JSON-Zeichenfolge umgewandelt. 🎜🎜Hier ist ein Beispiel für die Konvertierung eines PHP-Arrays in einen JSON-String: 🎜rrreee🎜Der obige Code gibt den folgenden JSON-formatierten String aus: 🎜rrreeejson_encode()
lassen sich PHP-Objekte auch einfach in JSON-Strings konvertieren. Vor der Konvertierung müssen Sie einen weiteren Parameter der Funktion json_encode()
verwenden, die Konstante JSON_PRETTY_PRINT
, mit der die JSON-Zeichenfolge leichter lesbar und menschlicher formatiert wird -freundliches Format. 🎜🎜Hier ist ein Beispiel für die Konvertierung eines PHP-Objekts in einen JSON-String: 🎜rrreee🎜Der obige Code gibt den folgenden einfach zu lesenden JSON-formatierten String aus: 🎜rrreeejson_encode()
verwenden. Um einen JSON-formatierten String zurück in ein PHP-Array-Objekt zu konvertieren, können Sie die Funktion json_decode()
verwenden. Das Folgende ist ein Beispiel für die Konvertierung eines Arrays, das mehrere Objekte enthält, in das JSON-Format: 🎜rrreee🎜 Der obige Code gibt die folgende JSON-formatierte Zeichenfolge aus: 🎜rrreee🎜 Als nächstes konvertieren Sie diese JSON-formatierte Zeichenfolge, die mehrere Objekte enthält, in das PHP-Array-Objekt: 🎜rrreee 🎜Durch Ausführen des obigen Codes wird das folgende PHP-Array-Objekt ausgegeben: 🎜rrreee🎜 Da der zweite Parameter der Funktion json_decode()
nicht angegeben ist, wird ein Array von PHP-Objekten zurückgegeben. Wenn Sie JSON in ein assoziatives PHP-Array dekodieren möchten, müssen Sie den zweiten Parameter auf true
setzen. 🎜🎜In diesem Artikel haben wir vorgestellt, wie man in PHP eine JSON-formatierte Zeichenfolge in ein Array oder Objekt konvertiert und wie man ein Array oder Objekt in eine JSON-Zeichenfolge umwandelt. Das Erlernen dieser Funktionen kann Ihnen helfen, JSON-Daten in Ihren Webanwendungen einfacher zu verarbeiten. 🎜Das obige ist der detaillierte Inhalt vonSo konvertieren Sie ein Array-Objekt in PHP JSON. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!