Hướng dẫn php return type json - kiểu trả về php json

Chuyển array thành json string

Array thành json string

$user = [
    'id' => 1,
    'username' => 'admin',
];

echo json_encode($user);

Kết quả:

Nội dung chính

  • Chuyển array thành json string
  • Array thành json string
  • Kết quả:
  • Nội dung chính
  • Chuyển ngược lại json string thành array
  • Chuyển Object thành json string

{
    "id": 1,
    "username": "admin"
}
2

Description

{
    "id": 1,
    "username": "admin"
}
3

Kết quả:

{
    "id": 1,
    "username": "admin"
}

Kết quả:

Nội dung chính

$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);

Chuyển ngược lại json string thành array

Nội dung chính

Chuyển ngược lại json string thành array

Chuyển Object thành json string

class User {
    public $id;
    public $username;
}

Description

$user = new User();
$user->id = 1;
$user->username = 'admin';

echo json_encode($user);

Return Values

`{"id":1,"username":"admin"}

Nếu muốn format đẹp hơn ta cho thêm tham số:

Cách thực hiện đơn giản như sau:

// Khai báo class
class User {
    public $id;
    public $username;
}

// json string
$json = '{"id":1,"username":"admin"}';

// thực hiện decode như ở trên
$data = json_decode($json, true);

// tạo object User
$user = new User();

// Gắn dữ liệu vào object User
foreach ($data as $key => $value) {
    $user->{$key} = $value;
}

// Thu được kết quả
var_export($user);

Kết quả:

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))

Nội dung chính

Chuyển ngược lại json string thành array

Chuyển Object thành json string

DescriptionReturns the JSON representation of a value

Chuyển ngược lại json string thành array

Chuyển Object thành json string(mixed

{
    "id": 1,
    "username": "admin"
}
4, int
{
    "id": 1,
    "username": "admin"
}
5 = 0
, int
{
    "id": 1,
    "username": "admin"
}
6 = 512
): string|false

DescriptionJsonSerializable to control how its values are serialized to JSON.

Return Values

Nếu muốn format đẹp hơn ta cho thêm tham số:

Cách thực hiện đơn giản như sau:

Tham số thứ 2 true của hàm json_decode là để hàm trả về kết quả là array.

Encode

Ta giả sử có class user như sau::

Sử dụng class như sau:

Ta cũng sẽ được kết quả tương tự như trên:

Decode

$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
1,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
2
,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
3
,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
4
,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
5
,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
6
,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
7
,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
8
,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
9
,
class User {
    public $id;
    public $username;
}
0
,
class User {
    public $id;
    public $username;
}
1
,
class User {
    public $id;
    public $username;
}
2
,
class User {
    public $id;
    public $username;
}
3
,
class User {
    public $id;
    public $username;
}
4
,
class User {
    public $id;
    public $username;
}
5
. The behaviour of these constants is described on the JSON constants page.

Vậy làm sao để decode được json to object của class User Có khá nhiều cách nhưng cách đơn giản và hiệu quả nhất như sau:

---

Chuyển Object thành json string

Descriptionstring on success or

class User {
    public $id;
    public $username;
}
7 on failure.

Return Values

Nếu muốn format đẹp hơn ta cho thêm tham số: Chuyển ngược lại json string thành array
7.3.0 Chuyển Object thành json string
{
    "id": 1,
    "username": "admin"
}
7 was added.
7.2.0 Description, and
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
7
{
    "id": 1,
    "username": "admin"
}
7 were added.
7.1.0 Return Values
{
    "id": 1,
    "username": "admin"
}
7 was added.
7.1.0 Nếu muốn format đẹp hơn ta cho thêm tham số:

Cách thực hiện đơn giản như sau:

Tham số thứ 2 true của hàm json_decode là để hàm trả về kết quả là array. json_encode() example

$user = new User();
$user->id = 1;
$user->username = 'admin';

echo json_encode($user);
5

$user = new User();
$user->id = 1;
$user->username = 'admin';

echo json_encode($user);
6

$user = new User();
$user->id = 1;
$user->username = 'admin';

echo json_encode($user);
7

Encode

{"a":1,"b":2,"c":3,"d":4,"e":5}

Ta giả sử có class user như sau:json_encode() example showing some flags in use

$user = new User();
$user->id = 1;
$user->username = 'admin';

echo json_encode($user);
8

$user = new User();
$user->id = 1;
$user->username = 'admin';

echo json_encode($user);
6

// Khai báo class
class User {
    public $id;
    public $username;
}

// json string
$json = '{"id":1,"username":"admin"}';

// thực hiện decode như ở trên
$data = json_decode($json, true);

// tạo object User
$user = new User();

// Gắn dữ liệu vào object User
foreach ($data as $key => $value) {
    $user->{$key} = $value;
}

// Thu được kết quả
var_export($user);
0

Encode

Normal: ["","'bar'","\"baz\"","&blong&","\u00e9"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["","'bar'","\"baz\"","&blong&","é"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Empty array output as array: []
Empty array output as object: {}

Non-associative array output as array: [[1,2,3]]
Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}

Associative array always output as object: {"foo":"bar","baz":"long"}
Associative array always output as object: {"foo":"bar","baz":"long"}

Ta giả sử có class user như sau:

// Khai báo class
class User {
    public $id;
    public $username;
}

// json string
$json = '{"id":1,"username":"admin"}';

// thực hiện decode như ở trên
$data = json_decode($json, true);

// tạo object User
$user = new User();

// Gắn dữ liệu vào object User
foreach ($data as $key => $value) {
    $user->{$key} = $value;
}

// Thu được kết quả
var_export($user);
1

Sử dụng class như sau:

Strings representing numbers automatically turned into numbers
array(4) {
  [0]=>
  string(7) "+123123"
  [1]=>
  string(7) "-123123"
  [2]=>
  string(5) "1.2e3"
  [3]=>
  string(7) "0.00001"
}
string(28) "[123123,-123123,1200,1.0e-5]"
Strings containing improperly formatted numbers
array(2) {
  [0]=>
  string(13) "+a33123456789"
  [1]=>
  string(4) "a123"
}
string(24) "["+a33123456789","a123"]"

Ta cũng sẽ được kết quả tương tự như trên:

// Khai báo class
class User {
    public $id;
    public $username;
}

// json string
$json = '{"id":1,"username":"admin"}';

// thực hiện decode như ở trên
$data = json_decode($json, true);

// tạo object User
$user = new User();

// Gắn dữ liệu vào object User
foreach ($data as $key => $value) {
    $user->{$key} = $value;
}

// Thu được kết quả
var_export($user);
2

$user = new User();
$user->id = 1;
$user->username = 'admin';

echo json_encode($user);
6

// Khai báo class
class User {
    public $id;
    public $username;
}

// json string
$json = '{"id":1,"username":"admin"}';

// thực hiện decode như ở trên
$data = json_decode($json, true);

// tạo object User
$user = new User();

// Gắn dữ liệu vào object User
foreach ($data as $key => $value) {
    $user->{$key} = $value;
}

// Thu được kết quả
var_export($user);
4

Encode

{
    "id": 1,
    "username": "admin"
}
0

Ta giả sử có class user như sau:

class User {
    public $id;
    public $username;
}
0 option example

// Khai báo class
class User {
    public $id;
    public $username;
}

// json string
$json = '{"id":1,"username":"admin"}';

// thực hiện decode như ở trên
$data = json_decode($json, true);

// tạo object User
$user = new User();

// Gắn dữ liệu vào object User
foreach ($data as $key => $value) {
    $user->{$key} = $value;
}

// Thu được kết quả
var_export($user);
6

Encode

{
    "id": 1,
    "username": "admin"
}
1

Ta giả sử có class user như sau:

Ta giả sử có class user như sau::

Sử dụng class như sau:json_last_error() can be used to determine the exact nature of the error.

Ta giả sử có class user như sau::

Sử dụng class như sau:

Ta giả sử có class user như sau::

Sử dụng class như sau:json_encode() will generate JSON that is a simple value (that is, neither an object nor an array) if given a string, int, float or bool as an input

{
    "id": 1,
    "username": "admin"
}
8. While most decoders will accept these values as valid JSON, some may not, as the specification is ambiguous on this point.

Ta cũng sẽ được kết quả tương tự như trên:json_encode().

Decode

  • Vậy làm sao để decode được json to object của class User Có khá nhiều cách nhưng cách đơn giản và hiệu quả nhất như sau:
  • ---
  • Phuc Tran Hoang
  • (PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL json >= 1.2.0)

json_encode — Returns the JSON representation of a value

json_encode(mixed

{
    "id": 1,
    "username": "admin"
}
4, int
{
    "id": 1,
    "username": "admin"
}
5 = 0, int
{
    "id": 1,
    "username": "admin"
}
6 = 512): string|false

// Khai báo class
class User {
    public $id;
    public $username;
}

// json string
$json = '{"id":1,"username":"admin"}';

// thực hiện decode như ở trên
$data = json_decode($json, true);

// tạo object User
$user = new User();

// Gắn dữ liệu vào object User
foreach ($data as $key => $value) {
    $user->{$key} = $value;
}

// Thu được kết quả
var_export($user);
8

// Khai báo class
class User {
    public $id;
    public $username;
}

// json string
$json = '{"id":1,"username":"admin"}';

// thực hiện decode như ở trên
$data = json_decode($json, true);

// tạo object User
$user = new User();

// Gắn dữ liệu vào object User
foreach ($data as $key => $value) {
    $user->{$key} = $value;
}

// Thu được kết quả
var_export($user);
9

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
0

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
1

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
2

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
3

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
4

If a value to be serialized is an object, then by default only publicly visible properties will be included. Alternatively, a class may implement JsonSerializable to control how its values are serialized to JSON.

The encoding is affected by the supplied

{
    "id": 1,
    "username": "admin"
}
7 and additionally the encoding of float values depends on the value of serialize_precision.

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
5

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
6

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
7

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
8

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
4

Parameters

{
    "id": 1,
    "username": "admin"
}
8

{"a":1,"b":2,"c":3,"d":4,"e":5}
0

{"a":1,"b":2,"c":3,"d":4,"e":5}
1

{"a":1,"b":2,"c":3,"d":4,"e":5}
2

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
4

The

{
    "id": 1,
    "username": "admin"
}
8 being encoded. Can be any type except a resource.

All string data must be UTF-8 encoded.

{"a":1,"b":2,"c":3,"d":4,"e":5}
4

{"a":1,"b":2,"c":3,"d":4,"e":5}
5

{"a":1,"b":2,"c":3,"d":4,"e":5}
6

{"a":1,"b":2,"c":3,"d":4,"e":5}
7

{"a":1,"b":2,"c":3,"d":4,"e":5}
8

{"a":1,"b":2,"c":3,"d":4,"e":5}
9

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
4

Note:

PHP implements a superset of JSON as specified in the original » RFC 7159.

Normal: ["","'bar'","\"baz\"","&blong&","\u00e9"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["","'bar'","\"baz\"","&blong&","é"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Empty array output as array: []
Empty array output as object: {}

Non-associative array output as array: [[1,2,3]]
Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}

Associative array always output as object: {"foo":"bar","baz":"long"}
Associative array always output as object: {"foo":"bar","baz":"long"}
1

Normal: ["","'bar'","\"baz\"","&blong&","\u00e9"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["","'bar'","\"baz\"","&blong&","é"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Empty array output as array: []
Empty array output as object: {}

Non-associative array output as array: [[1,2,3]]
Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}

Associative array always output as object: {"foo":"bar","baz":"long"}
Associative array always output as object: {"foo":"bar","baz":"long"}
2

Normal: ["","'bar'","\"baz\"","&blong&","\u00e9"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["","'bar'","\"baz\"","&blong&","é"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Empty array output as array: []
Empty array output as object: {}

Non-associative array output as array: [[1,2,3]]
Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}

Associative array always output as object: {"foo":"bar","baz":"long"}
Associative array always output as object: {"foo":"bar","baz":"long"}
3

Normal: ["","'bar'","\"baz\"","&blong&","\u00e9"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["","'bar'","\"baz\"","&blong&","é"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Empty array output as array: []
Empty array output as object: {}

Non-associative array output as array: [[1,2,3]]
Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}

Associative array always output as object: {"foo":"bar","baz":"long"}
Associative array always output as object: {"foo":"bar","baz":"long"}
4

Normal: ["","'bar'","\"baz\"","&blong&","\u00e9"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["","'bar'","\"baz\"","&blong&","é"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Empty array output as array: []
Empty array output as object: {}

Non-associative array output as array: [[1,2,3]]
Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}

Associative array always output as object: {"foo":"bar","baz":"long"}
Associative array always output as object: {"foo":"bar","baz":"long"}
5

Normal: ["","'bar'","\"baz\"","&blong&","\u00e9"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["","'bar'","\"baz\"","&blong&","é"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Empty array output as array: []
Empty array output as object: {}

Non-associative array output as array: [[1,2,3]]
Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}

Associative array always output as object: {"foo":"bar","baz":"long"}
Associative array always output as object: {"foo":"bar","baz":"long"}
6

Normal: ["","'bar'","\"baz\"","&blong&","\u00e9"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["","'bar'","\"baz\"","&blong&","é"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Empty array output as array: []
Empty array output as object: {}

Non-associative array output as array: [[1,2,3]]
Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}

Associative array always output as object: {"foo":"bar","baz":"long"}
Associative array always output as object: {"foo":"bar","baz":"long"}
7

{
    "id": 1,
    "username": "admin"
}
7

Bitmask consisting of

$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
1,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
2,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
3,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
4,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
5,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
6,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
7,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
8,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
9,
class User {
    public $id;
    public $username;
}
0,
class User {
    public $id;
    public $username;
}
1,
class User {
    public $id;
    public $username;
}
2,
class User {
    public $id;
    public $username;
}
3,
class User {
    public $id;
    public $username;
}
4,
class User {
    public $id;
    public $username;
}
5. The behaviour of these constants is described on the JSON constants page.

PHP implements a superset of JSON as specified in the original » RFC 7159.

Normal: ["","'bar'","\"baz\"","&blong&","\u00e9"]
Tags: ["\u003Cfoo\u003E","'bar'","\"baz\"","&blong&","\u00e9"]
Apos: ["","\u0027bar\u0027","\"baz\"","&blong&","\u00e9"]
Quot: ["","'bar'","\u0022baz\u0022","&blong&","\u00e9"]
Amp: ["","'bar'","\"baz\"","\u0026blong\u0026","\u00e9"]
Unicode: ["","'bar'","\"baz\"","&blong&","é"]
All: ["\u003Cfoo\u003E","\u0027bar\u0027","\u0022baz\u0022","\u0026blong\u0026","é"]

Empty array output as array: []
Empty array output as object: {}

Non-associative array output as array: [[1,2,3]]
Non-associative array output as object: {"0":{"0":1,"1":2,"2":3}}

Associative array always output as object: {"foo":"bar","baz":"long"}
Associative array always output as object: {"foo":"bar","baz":"long"}
9

Strings representing numbers automatically turned into numbers
array(4) {
  [0]=>
  string(7) "+123123"
  [1]=>
  string(7) "-123123"
  [2]=>
  string(5) "1.2e3"
  [3]=>
  string(7) "0.00001"
}
string(28) "[123123,-123123,1200,1.0e-5]"
Strings containing improperly formatted numbers
array(2) {
  [0]=>
  string(13) "+a33123456789"
  [1]=>
  string(4) "a123"
}
string(24) "["+a33123456789","a123"]"
0

Strings representing numbers automatically turned into numbers
array(4) {
  [0]=>
  string(7) "+123123"
  [1]=>
  string(7) "-123123"
  [2]=>
  string(5) "1.2e3"
  [3]=>
  string(7) "0.00001"
}
string(28) "[123123,-123123,1200,1.0e-5]"
Strings containing improperly formatted numbers
array(2) {
  [0]=>
  string(13) "+a33123456789"
  [1]=>
  string(4) "a123"
}
string(24) "["+a33123456789","a123"]"
1

Strings representing numbers automatically turned into numbers
array(4) {
  [0]=>
  string(7) "+123123"
  [1]=>
  string(7) "-123123"
  [2]=>
  string(5) "1.2e3"
  [3]=>
  string(7) "0.00001"
}
string(28) "[123123,-123123,1200,1.0e-5]"
Strings containing improperly formatted numbers
array(2) {
  [0]=>
  string(13) "+a33123456789"
  [1]=>
  string(4) "a123"
}
string(24) "["+a33123456789","a123"]"
2

Strings representing numbers automatically turned into numbers
array(4) {
  [0]=>
  string(7) "+123123"
  [1]=>
  string(7) "-123123"
  [2]=>
  string(5) "1.2e3"
  [3]=>
  string(7) "0.00001"
}
string(28) "[123123,-123123,1200,1.0e-5]"
Strings containing improperly formatted numbers
array(2) {
  [0]=>
  string(13) "+a33123456789"
  [1]=>
  string(4) "a123"
}
string(24) "["+a33123456789","a123"]"
3

Strings representing numbers automatically turned into numbers
array(4) {
  [0]=>
  string(7) "+123123"
  [1]=>
  string(7) "-123123"
  [2]=>
  string(5) "1.2e3"
  [3]=>
  string(7) "0.00001"
}
string(28) "[123123,-123123,1200,1.0e-5]"
Strings containing improperly formatted numbers
array(2) {
  [0]=>
  string(13) "+a33123456789"
  [1]=>
  string(4) "a123"
}
string(24) "["+a33123456789","a123"]"
4

Strings representing numbers automatically turned into numbers
array(4) {
  [0]=>
  string(7) "+123123"
  [1]=>
  string(7) "-123123"
  [2]=>
  string(5) "1.2e3"
  [3]=>
  string(7) "0.00001"
}
string(28) "[123123,-123123,1200,1.0e-5]"
Strings containing improperly formatted numbers
array(2) {
  [0]=>
  string(13) "+a33123456789"
  [1]=>
  string(4) "a123"
}
string(24) "["+a33123456789","a123"]"
5

Strings representing numbers automatically turned into numbers
array(4) {
  [0]=>
  string(7) "+123123"
  [1]=>
  string(7) "-123123"
  [2]=>
  string(5) "1.2e3"
  [3]=>
  string(7) "0.00001"
}
string(28) "[123123,-123123,1200,1.0e-5]"
Strings containing improperly formatted numbers
array(2) {
  [0]=>
  string(13) "+a33123456789"
  [1]=>
  string(4) "a123"
}
string(24) "["+a33123456789","a123"]"
6

Strings representing numbers automatically turned into numbers
array(4) {
  [0]=>
  string(7) "+123123"
  [1]=>
  string(7) "-123123"
  [2]=>
  string(5) "1.2e3"
  [3]=>
  string(7) "0.00001"
}
string(28) "[123123,-123123,1200,1.0e-5]"
Strings containing improperly formatted numbers
array(2) {
  [0]=>
  string(13) "+a33123456789"
  [1]=>
  string(4) "a123"
}
string(24) "["+a33123456789","a123"]"
7

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
4

{
    "id": 1,
    "username": "admin"
}
7

All string data must be UTF-8 encoded.

Strings representing numbers automatically turned into numbers
array(4) {
  [0]=>
  string(7) "+123123"
  [1]=>
  string(7) "-123123"
  [2]=>
  string(5) "1.2e3"
  [3]=>
  string(7) "0.00001"
}
string(28) "[123123,-123123,1200,1.0e-5]"
Strings containing improperly formatted numbers
array(2) {
  [0]=>
  string(13) "+a33123456789"
  [1]=>
  string(4) "a123"
}
string(24) "["+a33123456789","a123"]"
9

{
    "id": 1,
    "username": "admin"
}
00

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
4

Note:

PHP implements a superset of JSON as specified in the original » RFC 7159.

{
    "id": 1,
    "username": "admin"
}
02

{
    "id": 1,
    "username": "admin"
}
03

{
    "id": 1,
    "username": "admin"
}
04

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
4

{
    "id": 1,
    "username": "admin"
}
7

Bitmask consisting of

$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
1,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
2,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
3,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
4,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
5,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
6,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
7,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
8,
$json = '{"id":1,"username":"admin"}';
$user = json_decode($json, true);
9,
class User {
    public $id;
    public $username;
}
0,
class User {
    public $id;
    public $username;
}
1,
class User {
    public $id;
    public $username;
}
2,
class User {
    public $id;
    public $username;
}
3,
class User {
    public $id;
    public $username;
}
4,
class User {
    public $id;
    public $username;
}
5. The behaviour of these constants is described on the JSON constants page.

{
    "id": 1,
    "username": "admin"
}
06

{
    "id": 1,
    "username": "admin"
}
07

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
4

Sam Barnum ¶

13 năm trước

{
    "id": 1,
    "username": "admin"
}
09

spam.goes.in.here tại gmail.com ¶

14 năm trước

{
    "id": 1,
    "username": "admin"
}
10

Garrett ¶

13 năm trước

{
    "id": 1,
    "username": "admin"
}
11

{
    "id": 1,
    "username": "admin"
}
12

{
    "id": 1,
    "username": "admin"
}
13

{
    "id": 1,
    "username": "admin"
}
14

{
    "id": 1,
    "username": "admin"
}
15

{
    "id": 1,
    "username": "admin"
}
16

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
4

spam.goes.in.here tại gmail.com ¶

14 năm trước

{
    "id": 1,
    "username": "admin"
}
18

{
    "id": 1,
    "username": "admin"
}
19

{
    "id": 1,
    "username": "admin"
}
20

{
    "id": 1,
    "username": "admin"
}
21

Garrett ¶

pvl dot kolensikov tại gmail dot com ¶

{
    "id": 1,
    "username": "admin"
}
22

{
    "id": 1,
    "username": "admin"
}
23

User::__set_state(array(
   'id' => 1,
   'username' => 'admin',
))
4