Home  >  Article  >  Backend Development  >  Convert object to JSON string

Convert object to JSON string

不言
不言Original
2018-07-07 11:44:486804browse

This article mainly introduces the conversion of objects into JSON strings, which has certain reference value. Now I share it with everyone. Friends in need can refer to it

Define a Student class:

1 class Student {
2     public $name;
3     public $age;
4     function __construct($name, $age) {
5         $this->name = $name;
6         $this->age = $age;
7     }
8 }

At this time, create a new object and echo directly: 1 $person1 = new Student('jack', 20); 2 echo $person1;

The result is not printed as we expected Instead of exiting the object, a fatal error is reported:

means that the object instantiated by the Student class cannot be converted into a string. Here you can get a message: echo It must be followed by a string,

Otherwise it will be automatically converted into a string. So how to convert an object into a string?

First introduce a magic method: __tostring(), this method is used for how a class should respond when it is treated as a string. For example echo $obj;

What should be displayed. This method must return a string, otherwise a E_RECOVERABLE_ERROR level fatal error will be issued.

Add this magic method to the Student class:

 1 class Student { 
 2      public $name; 
 3      public $age; 
 4      function __construct($name, $age) { 
 5           $this->name = $name; 
 6           $this->age = $age; 
 7      } 
 8      function __tostring() { 
 9           return json_encode($this, JSON_FORCE_OBJECT);
 10      }
 11 }

json_encode(value, options) method can convert an object into JSON characters String, this method accepts two parameters,

The first parameter: value
The value to be encoded, except the resource type, can be any data type
This function can only accept UTF- 8 Encoded data

Second parameter: options
Binary mask composed of the following constants: JSON_HEX_QUOT, JSON_HEX_TAG, JSON_HEX_AMP, JSON_HEX_APOS, JSON_NUMERIC_CHECK, JSON_PRETTY_PRINT, JSON_UNESCAPED_SLASHES, JSON_FORCE_OBJECT, JSON_UNESCAPED_UNICO DE.

Return value: Returns a string represented in JSON form if the encoding is successful or returns FALSE on failure.

note: Compared with the json_encode method, there is the json_decode method. This method can convert a JSON format string into a PHP variable. This method accepts two parameters

The first parameter: json string

The second parameter: true/false. When it is true, it means transposing the string into an array. When it is false, it means conversion. is an object, the default is false

Return value: object or array (when the second parameter is true)

You can open it in the browser at this time See that the conversion is successful:

# The above is the entire content of this article. I hope it will be helpful to everyone’s learning. For more related content, please pay attention to the PHP Chinese website!

Related recommendations:

php redis service compilation and installation method

php source code database building table-configuration file-error log method

The above is the detailed content of Convert object to JSON string. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn