PHP json_decode boolean

JSON viết tắt cho Ký hiệu đối tượng đối tượng JavaScript. JSON là định dạng trao đổi dữ liệu nhẹ tiêu chuẩn, nhanh chóng và dễ dàng để phân tích cú pháp và tạo. JSON, giống như XML, là định dạng dựa trên văn bản dễ viết và dễ hiểu đối với cả máy tính và con người, nhưng không giống như XML, JSON .

PHP json_decode

PHP json_decode() là một hàm dựng sẵn lấy chuỗi được mã hóa JSON và chuyển đổi nó thành một biến PHP. Hàm json_decode() lấy json_string, assoc, depth và options làm đối số và trả về đối tượng PHP. Hàm json_decode() chuyển đổi chuỗi được mã hóa JSON thành kiểu dữ liệu phù hợp

Trong JSON, khóa luôn là chuỗi, trong khi giá trị có thể là chuỗi, số, đúng hoặc sai, null hoặc thậm chí là đối tượng hoặc một mảng. Hơn nữa, các chuỗi phải được đặt trong dấu ngoặc kép “ và chứa các ký tự thoát như \n, \t và \.  

Cấu trúc dữ liệu JSON rất giống với mảng PHP. Ngôn ngữ lập trình PHP có sẵn các hàm để mã hóa và giải mã dữ liệu JSON. Các hàm JSON PHP phổ biến nhất lần lượt là json_encode và json_decode. Cả hai chức năng chỉ hoạt động với dữ liệu chuỗi được mã hóa UTF-8

Giải mã dữ liệu JSON đơn giản như mã hóa nó. Chúng ta sẽ xem cách giải mã hoặc chuyển đổi đối tượng JSON thành đối tượng PHP

cú pháp

Cú pháp của hàm json_decode() như sau

json_decode ( string $json [, bool $assoc = FALSE [, int $depth = 512 [, int $options = 0 ]]] )
  1. json_string − Chuỗi được mã hóa phải là dữ liệu được mã hóa UTF-8

  2. assoc − Nó là tham số kiểu boolean;
  3. độ sâu - Đó là tham số kiểu số nguyên chỉ định độ sâu đệ quy
  4. tùy chọn − Đó là mặt nạ bit loại số nguyên của giải mã JSON, JSON_BIGINT_AS_STRING được hỗ trợ

Thí dụ

Xem ví dụ giải mã dữ liệu json trong php sau

<?php

// app.php

$json = '{"website": 19, 
          "author": 21, 
          "category": 46}';

print_r(json_decode($json));

Xem đầu ra bên dưới

PHP json_decode boolean

Theo mặc định, hàm json_decode() trả về đối tượng

Tuy nhiên, bạn có thể tùy ý chỉ định tham số thứ hai assoc, tham số này chấp nhận giá trị boolean, khi được đặt thành true, các đối tượng JSON được giải mã thành các mảng kết hợp. Nó là sai theo mặc định. Xem ví dụ sau

<?php

// app.php

$json = '{"website": 19, 
          "author": 21, 
          "category": 46}';

var_dump(json_decode($json, true));

Xem đầu ra bên dưới

PHP json_decode boolean

Truy cập thuộc tính đối tượng không hợp lệ

Truy cập các phần tử bên trong một đối tượng chứa các ký tự không được phép theo quy ước đặt tên của PHP (e. g. , dấu gạch nối) có thể được thực hiện bằng cách đóng gói tên phần tử trong dấu ngoặc nhọn và dấu nháy đơn. Xem ví dụ bên dưới

Php json_encode lưu boolean ở định dạng chuỗi

[
    {
        "title" : "My Page",
        "url"   : "mypage",
        "type"  : "content",
        "final" : "false" // supposed to be simply false
    }
]
function convertJsonBody() {
     $methodsWithDataInBody = array(
          'POST',
          'PUT',
     );

     if (
          isset($_SERVER['CONTENT_TYPE'])
          && (strpos(strtolower($_SERVER['CONTENT_TYPE']), 'application/json') !== FALSE)
          && isset($_SERVER['REQUEST_METHOD'])
          && in_array($_SERVER['REQUEST_METHOD'], $methodsWithDataInBody)
     ) {
          $_POST = json_decode(file_get_contents('php://input'), TRUE);
          foreach($_POST as $key => $value) {
               $_REQUEST[$key] = $value;
          }
     }
} 

PHP JSON Mã hóa một chuỗi JSON

$array = [
    'name' => 'Jeff',
    'age' => 20,
    'active' => true,
    'colors' => ['red', 'blue'],
    'values' => [0=>'foo', 3=>'bar'],
];
echo json_encode($array);
{"name":"Jeff","age":20,"active":true,"colors":["red","blue"],"values":{"0":"foo","3":"bar"}}
$array = ['Joel', 23, true, ['red', 'blue']];
echo json_encode($array);
echo json_encode($array, JSON_FORCE_OBJECT);
["Joel",23,true,["red","blue"]]
{"0":"Joel","1":23,"2":true,"3":{"0":"red","1":"blue"}}
$array = ["tag"=>"<>", "amp"=>"&", "apos"=>"'", "quot"=>"\""];
echo json_encode($array);
echo json_encode($array, JSON_HEX_TAG | JSON_HEX_AMP | JSON_HEX_APOS | JSON_HEX_QUOT);
{"tag":"<>","amp":"&","apos":"'","quot":"\""}
{"tag":"\u003C\u003E","amp":"\u0026","apos":"\u0027","quot":"\u0022"}
$array = ['23452', 23452];
echo json_encode($array);
echo json_encode($array, JSON_NUMERIC_CHECK);
function convertJsonBody() {
     $methodsWithDataInBody = array(
          'POST',
          'PUT',
     );

     if (
          isset($_SERVER['CONTENT_TYPE'])
          && (strpos(strtolower($_SERVER['CONTENT_TYPE']), 'application/json') !== FALSE)
          && isset($_SERVER['REQUEST_METHOD'])
          && in_array($_SERVER['REQUEST_METHOD'], $methodsWithDataInBody)
     ) {
          $_POST = json_decode(file_get_contents('php://input'), TRUE);
          foreach($_POST as $key => $value) {
               $_REQUEST[$key] = $value;
          }
     }
} 
0_______4_______1
function convertJsonBody() {
     $methodsWithDataInBody = array(
          'POST',
          'PUT',
     );

     if (
          isset($_SERVER['CONTENT_TYPE'])
          && (strpos(strtolower($_SERVER['CONTENT_TYPE']), 'application/json') !== FALSE)
          && isset($_SERVER['REQUEST_METHOD'])
          && in_array($_SERVER['REQUEST_METHOD'], $methodsWithDataInBody)
     ) {
          $_POST = json_decode(file_get_contents('php://input'), TRUE);
          foreach($_POST as $key => $value) {
               $_REQUEST[$key] = $value;
          }
     }
} 
2
function convertJsonBody() {
     $methodsWithDataInBody = array(
          'POST',
          'PUT',
     );

     if (
          isset($_SERVER['CONTENT_TYPE'])
          && (strpos(strtolower($_SERVER['CONTENT_TYPE']), 'application/json') !== FALSE)
          && isset($_SERVER['REQUEST_METHOD'])
          && in_array($_SERVER['REQUEST_METHOD'], $methodsWithDataInBody)
     ) {
          $_POST = json_decode(file_get_contents('php://input'), TRUE);
          foreach($_POST as $key => $value) {
               $_REQUEST[$key] = $value;
          }
     }
} 
3
function convertJsonBody() {
     $methodsWithDataInBody = array(
          'POST',
          'PUT',
     );

     if (
          isset($_SERVER['CONTENT_TYPE'])
          && (strpos(strtolower($_SERVER['CONTENT_TYPE']), 'application/json') !== FALSE)
          && isset($_SERVER['REQUEST_METHOD'])
          && in_array($_SERVER['REQUEST_METHOD'], $methodsWithDataInBody)
     ) {
          $_POST = json_decode(file_get_contents('php://input'), TRUE);
          foreach($_POST as $key => $value) {
               $_REQUEST[$key] = $value;
          }
     }
} 
4
function convertJsonBody() {
     $methodsWithDataInBody = array(
          'POST',
          'PUT',
     );

     if (
          isset($_SERVER['CONTENT_TYPE'])
          && (strpos(strtolower($_SERVER['CONTENT_TYPE']), 'application/json') !== FALSE)
          && isset($_SERVER['REQUEST_METHOD'])
          && in_array($_SERVER['REQUEST_METHOD'], $methodsWithDataInBody)
     ) {
          $_POST = json_decode(file_get_contents('php://input'), TRUE);
          foreach($_POST as $key => $value) {
               $_REQUEST[$key] = $value;
          }
     }
} 
5
function convertJsonBody() {
     $methodsWithDataInBody = array(
          'POST',
          'PUT',
     );

     if (
          isset($_SERVER['CONTENT_TYPE'])
          && (strpos(strtolower($_SERVER['CONTENT_TYPE']), 'application/json') !== FALSE)
          && isset($_SERVER['REQUEST_METHOD'])
          && in_array($_SERVER['REQUEST_METHOD'], $methodsWithDataInBody)
     ) {
          $_POST = json_decode(file_get_contents('php://input'), TRUE);
          foreach($_POST as $key => $value) {
               $_REQUEST[$key] = $value;
          }
     }
} 
6
function convertJsonBody() {
     $methodsWithDataInBody = array(
          'POST',
          'PUT',
     );

     if (
          isset($_SERVER['CONTENT_TYPE'])
          && (strpos(strtolower($_SERVER['CONTENT_TYPE']), 'application/json') !== FALSE)
          && isset($_SERVER['REQUEST_METHOD'])
          && in_array($_SERVER['REQUEST_METHOD'], $methodsWithDataInBody)
     ) {
          $_POST = json_decode(file_get_contents('php://input'), TRUE);
          foreach($_POST as $key => $value) {
               $_REQUEST[$key] = $value;
          }
     }
} 
7
function convertJsonBody() {
     $methodsWithDataInBody = array(
          'POST',
          'PUT',
     );

     if (
          isset($_SERVER['CONTENT_TYPE'])
          && (strpos(strtolower($_SERVER['CONTENT_TYPE']), 'application/json') !== FALSE)
          && isset($_SERVER['REQUEST_METHOD'])
          && in_array($_SERVER['REQUEST_METHOD'], $methodsWithDataInBody)
     ) {
          $_POST = json_decode(file_get_contents('php://input'), TRUE);
          foreach($_POST as $key => $value) {
               $_REQUEST[$key] = $value;
          }
     }
} 
8
function convertJsonBody() {
     $methodsWithDataInBody = array(
          'POST',
          'PUT',
     );

     if (
          isset($_SERVER['CONTENT_TYPE'])
          && (strpos(strtolower($_SERVER['CONTENT_TYPE']), 'application/json') !== FALSE)
          && isset($_SERVER['REQUEST_METHOD'])
          && in_array($_SERVER['REQUEST_METHOD'], $methodsWithDataInBody)
     ) {
          $_POST = json_decode(file_get_contents('php://input'), TRUE);
          foreach($_POST as $key => $value) {
               $_REQUEST[$key] = $value;
          }
     }
} 
9
$array = [
    'name' => 'Jeff',
    'age' => 20,
    'active' => true,
    'colors' => ['red', 'blue'],
    'values' => [0=>'foo', 3=>'bar'],
];
0
$array = [
    'name' => 'Jeff',
    'age' => 20,
    'active' => true,
    'colors' => ['red', 'blue'],
    'values' => [0=>'foo', 3=>'bar'],
];
1_______5_______2

Json_encode

$array = [
    'name' => 'Jeff',
    'age' => 20,
    'active' => true,
    'colors' => ['red', 'blue'],
    'values' => [0=>'foo', 3=>'bar'],
];
3
$array = [
    'name' => 'Jeff',
    'age' => 20,
    'active' => true,
    'colors' => ['red', 'blue'],
    'values' => [0=>'foo', 3=>'bar'],
];
4_______5_______5_______5_______6_______5_______7

Hàm PHP - json_encode()

$array = [
    'name' => 'Jeff',
    'age' => 20,
    'active' => true,
    'colors' => ['red', 'blue'],
    'values' => [0=>'foo', 3=>'bar'],
];
8_______5_______9
echo json_encode($array);
0
echo json_encode($array);
1
echo json_encode($array);
2
echo json_encode($array);
3
echo json_encode($array);
4

PHP Json_encode. Tuần tự hóa các đối tượng PHP thành JSON

echo json_encode($array);
5
echo json_encode($array);
6
echo json_encode($array);
7_______6_______8
echo json_encode($array);
9
{"name":"Jeff","age":20,"active":true,"colors":["red","blue"],"values":{"0":"foo","3":"bar"}}
0
{"name":"Jeff","age":20,"active":true,"colors":["red","blue"],"values":{"0":"foo","3":"bar"}}
1
{"name":"Jeff","age":20,"active":true,"colors":["red","blue"],"values":{"0":"foo","3":"bar"}}
2_______7_______3

Sử dụng json_encode của PHP với Dữ liệu vô hướng

{"name":"Jeff","age":20,"active":true,"colors":["red","blue"],"values":{"0":"foo","3":"bar"}}
4_______7_______4
echo json_encode($array);
1

Mã hóa và giải mã JSON

{"name":"Jeff","age":20,"active":true,"colors":["red","blue"],"values":{"0":"foo","3":"bar"}}
7
{"name":"Jeff","age":20,"active":true,"colors":["red","blue"],"values":{"0":"foo","3":"bar"}}
8
{"name":"Jeff","age":20,"active":true,"colors":["red","blue"],"values":{"0":"foo","3":"bar"}}
9_______8_______0_______8_______1
$array = ['Joel', 23, true, ['red', 'blue']];
echo json_encode($array);
echo json_encode($array, JSON_FORCE_OBJECT);
2
$array = ['Joel', 23, true, ['red', 'blue']];
echo json_encode($array);
echo json_encode($array, JSON_FORCE_OBJECT);
3
$array = ['Joel', 23, true, ['red', 'blue']];
echo json_encode($array);
echo json_encode($array, JSON_FORCE_OBJECT);
4_______8_______5
$array = ['Joel', 23, true, ['red', 'blue']];
echo json_encode($array);
echo json_encode($array, JSON_FORCE_OBJECT);
2
$array = ['Joel', 23, true, ['red', 'blue']];
echo json_encode($array);
echo json_encode($array, JSON_FORCE_OBJECT);
7
$array = ['Joel', 23, true, ['red', 'blue']];
echo json_encode($array);
echo json_encode($array, JSON_FORCE_OBJECT);
8
$array = ['Joel', 23, true, ['red', 'blue']];
echo json_encode($array);
echo json_encode($array, JSON_FORCE_OBJECT);
9

Bài học tiếp theo Hướng dẫn PHP

Làm cách nào để đọc json_decode trong PHP?

PHP và JSON .
Hàm json_encode() dùng để mã hóa một giá trị sang định dạng JSON
Hàm json_decode() được sử dụng để giải mã một đối tượng JSON thành một đối tượng PHP hoặc một mảng kết hợp
Hàm json_decode() trả về một đối tượng theo mặc định. .
Bạn cũng có thể lặp qua các giá trị bằng vòng lặp foreach()

json_decode trong PHP là gì?

Hàm json_decode() được dùng để giải mã hoặc chuyển đổi đối tượng JSON thành đối tượng PHP .

Làm cách nào để viết giải mã JSON trong PHP?

php // Gán chuỗi mã hóa JSON cho một biến PHP $json = '{"Peter". 65,"Harry". 80,"Giăng". 78"Clark". 90}'; . $arr = json_decode($json, true); // Loop through the associative array foreach($arr as $key=>$value){ echo $key .

Làm cách nào để chuyển đổi dữ liệu JSON thành chuỗi trong PHP?

Mọi người sử dụng json_encode() và json_decode() để chuyển đổi đối tượng/mảng PHP thành chuỗi và quay lại đối tượng/mảng. Lưu câu trả lời này. Hiển thị hoạt động trên bài đăng này. $array = json_decode($json,true);