Làm cách nào để phân tích cú pháp tệp JSON trong PHP?

Các ví dụ của hướng dẫn này đã được kiểm tra cho phiên bản PHP 8 trở lên. Vì vậy, bạn phải cài đặt PHP 8. 0 và máy chủ Apache trước khi thực hành các ví dụ của hướng dẫn này

ví dụ 1. In JSON mà không cần định dạng

Hàm json_encode() của PHP được sử dụng để phân tích bất kỳ dữ liệu JSON nào. Tạo tệp PHP với tập lệnh sau để đọc dữ liệu JSON đơn giản và in đầu ra. Ở đây, một mảng kết hợp đã được khai báo để tạo dữ liệu JSON. Không có định dạng nào được áp dụng cho dữ liệu JSON trong tập lệnh. Như vậy, dữ liệu JSON sẽ được in trên một dòng duy nhất


//Khai báo mảng
$courses=mảng("Mô-đun-1=>"HTML","Module-2"=>"JavaScript", "Module-3"=>"CSS3", "Module-4"=>"PHP");
// In mảng ở định dạng JSON đơn giản
echojson_encode ($courses);

?>

đầu ra

Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trước đó từ trình duyệt

Làm cách nào để phân tích cú pháp tệp JSON trong PHP?

ví dụ 2. In JSON bằng JSON_PRETTY_PRINT và tiêu đề()

PHP có một tùy chọn có tên là “JSON_PRETTY_PRINT” được sử dụng với hàm json_encode() để in dữ liệu JSON với căn chỉnh phù hợp và định dạng cụ thể. Tạo một tệp PHP với tập lệnh sau. Ở đây, tùy chọn JSON_PRETTY_PRINT đã được sử dụng để in dữ liệu JSON. Hàm header() được sử dụng ở đây để thông báo cho trình duyệt về nội dung tệp. Không có định dạng nào được áp dụng nếu không có chức năng này


//Khai báo mảng
$courses=mảng("Mô-đun-1=>"HTML","Module-2"=>"JavaScript", "Module-3"=>"CSS3", "Module-4"=>"PHP");
//Thông báo cho trình duyệt về loại tệp bằng chức năng tiêu đề
tiêu đề('Loại nội dung. văn bản/javascript');
// In mảng ở định dạng JSON đơn giản
echojson_encode ($courses, JSON_PRETTY_PRINT );
?>

đầu ra

Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trước đó từ trình duyệt. Một phông chữ cụ thể và căn chỉnh đã được áp dụng ở đây

Làm cách nào để phân tích cú pháp tệp JSON trong PHP?

Example 3: Print JSON Using JSON_PRETTY_PRINT and tag

The formatting that is applied in the previous example can be done by using “

” tag in place of header() function. Create a PHP file with the following script. In this example, the starting “
” tag is used before generating JSON data.



$data_arr = mảng('Robin Nixon' . Thiết kế và xây dựng trang web' => 'Learning PHP, MySQL and JavaScript ', 'Jon Duckett' => 'HTML & CSS: Design and Build Web Sites', 'Rob Foster' => ');

?>

< trước >



echo json_encode($data_arr, JSON_PRETTY_PRINT);

?>

pre>pre>

đầu ra

Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trước đó từ trình duyệt. Đầu ra trông tương tự như ví dụ trước, như hình bên dưới

Làm cách nào để phân tích cú pháp tệp JSON trong PHP?

Ví dụ 4. In JSON bằng JSON_PRETTY_PRINT và Hàm tùy chỉnh

Formatted JSON data are printed using the JSON_PRETTY_PRINT option and the

 tag in the previous examples. But if you want to print JSON data with the custom format, it is better to use the user-defined function of PHP. This example shows how you can apply CSS in JSON data using PHP. Create a PHP file with the following script. An extensive JSON data has been used in this example that is stored in the variable, $data. A user-defined function, pretty_print() has been used in the code to format the JSON data. This function has an argument that has been used to pass the JSON data. A for loop has been used to parse the JSON data and apply formatting before printing the data.



//Xác định dữ liệu json lớn
$data = '{"ngân hàng câu đố". { "Máy vi tính". {"q1". { "câu hỏi". "ai là người phát minh ra máy tính?", "tùy chọn". ["Thomas Alva Edison","CharlesBabbage","Blaise Pascal", "Philo Farnsworth"],"trả lời". "Charles Bắp cải"},{"q2". { "câu hỏi". "thiết bị nào sau đây là thiết bị đầu vào?", "tùy chọn". ["Printer","Scanner","Monitor", "Keyboard"],"answer". "Bàn phím"}},"PHP". { "q1". { "câu hỏi". "PHP là loại ngôn ngữ gì?","tùy chọn". ["High Level Language","Low level Language","ScriptingLanguage","Assembly Language"]"answer". "Ngôn ngữ viết kịch bản" },"q2". {"câu hỏi". "Dạng đầy đủ của PHP là gì?","tùy chọn". ["Bộ tiền xử lý siêu văn bản","Gói trang chủ cá nhân","Bộ xử lý siêu văn bản","Trang HTML Perdonal" ],"câu trả lời". "Bộ tiền xử lý siêu văn bản"} } } }';
// gọi hàm tùy chỉnh để định dạng dữ liệu json
echopretty_print ($data);
// Khai báo hàm tùy chỉnh để định dạng
functionpretty_print ($json_data)
{
//Khởi tạo biến để thêm không gian
$space = 0;
$flag = false;
//Using

 tag to format alignment and font
echo";
// vòng lặp để lặp lại toàn bộ dữ liệu json
for($count=0; $counter<strlen($json_data); $counter++)
{
//Kiểm tra dấu ngoặc thứ hai và thứ ba
if( $json_data[$counter] == '}' || $json_data[$count] == ']' )
    {
$space--;
echo" \n ";
echostr_repeat (' ', ($space*2));
    }

//Kiểm tra dấu ngoặc kép(“) và dấu phẩy (,)
if( $json_data[$counter] == '"'&& ($json_data[$counter-1] == ',' || $json_data[$count-2] == ',') )
    {
echo" \n ";
echostr_repeat (' ', ($space*2));
    }
if( $json_data[$counter] == '"'&& !$flag )
    {
if( $json_data[$counter-1] == ':' . $json_data[$count-2] == ':' )
//Thêm định dạng cho câu hỏi và câu trả lời
tiếng vang';
khác
//Thêm định dạng cho các tùy chọn trả lời
tiếng vang';
    }
echo$json_data[$count];
//Kiểm tra điều kiện thêm thẻ span đóng
if( $json_data[$counter] == '"'&&$flag )
echo'';
if( $json_data[$counter] == '"' )
$flag= . $flag;
// Kiểm tra dấu ngoặc thứ hai và thứ ba bắt đầu
if( $json_data[$counter] == '{' || $json_data[$count] == '[' )
    {
$space++;
echo" \n ";
echostr_repeat (' ', ($space*2));
    }
}
echo"";
}


?>

đầu ra

Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trước đó từ trình duyệt. Tại đây, mỗi câu hỏi và câu trả lời của dữ liệu JSON đã được in với màu xanh và định dạng in đậm, và một phần khác được in với màu đỏ

Làm cách nào để phân tích cú pháp tệp JSON trong PHP?

Ví dụ 5. In JSON sử dụng json_encode() và json_decode()

Tạo một tệp PHP với tập lệnh sau để biết cách in dữ liệu JSON bằng cách sử dụng các hàm json_encode() và json_decode()



//Xác định dữ liệu json thành một biến

$jsondata = '{"11897". "Megha Hossain","11564". "Abir Hasan","11234". "Joya Ahmed"}';

// Mã hóa giá trị json

$decoded_data = json_decode($jsondata);

tiêu đề('Loại nội dung. văn bản/javascript');

//In dữ liệu json sau khi giải mã

echo "Đầu ra của dữ liệu JSON. \n ";

echo json_encode($decoded_data, JSON_PRETTY_PRINT);

?>

đầu ra

Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trước đó từ trình duyệt

Làm cách nào để phân tích cú pháp tệp JSON trong PHP?

Ví dụ 6. In nội dung của tệp JSON bằng json_decode()

Trong các ví dụ trước, dữ liệu JSON đã được khai báo bên trong tập lệnh PHP. Nhưng nội dung của tệp JSON có thể được phân tích cú pháp bằng cách sử dụng tập lệnh PHP. Tạo một tệp JSON có tên sinh viên. json với nội dung sau

học sinh. json

[
        {
            "ID". "0111897" ,
            "tên". "Walliur Rahman" ,
            "phòng ban". "CSE" ,
            "lô". "thứ 30"
        } ,
        {
            "ID". "0111456" ,
            "tên". "MinhazKazi" ,
            "phòng ban". "CSE" ,
            "lô". "thứ 30"
        } ,
        {
            "ID". "0111897" ,
            "tên". "Akramasouchi" ,
            "phòng ban". "CSE" ,
            "lô". "thứ 30"
        }
  ]

Tạo một tệp PHP với tập lệnh sau để đọc các sinh viên. json bằng cách sử dụng hàm file_get_contents() và json_decode(). Tiếp theo, vòng lặp foreach đã được sử dụng để in dữ liệu JSON theo cách đã định dạng



//Đọc nội dung của tệp JSON

$students = file_get_contents('sstudents. json');

//Giải mã dữ liệu JSON thành một mảng

$decoded_data = json_decode($students, true);

echo """"""""""""""""""""""""""""""""""""";

//In dữ liệu JSON

foreach($decoded_data as $student) {

$ID = $student['ID'];

$name = $student['name'];

$department = $student['department'];

$batch = $student['batch'];

echo " $ID $name $department< $batch
"
;

}

?>

đầu ra

Đầu ra sau sẽ xuất hiện sau khi thực thi tập lệnh trước đó từ trình duyệt

Làm cách nào để phân tích cú pháp tệp JSON trong PHP?

Ví dụ 7. Đọc tệp JSON của các giá trị khóa ngẫu nhiên

Nội dung của tệp JSON có thể được truy cập dựa trên khóa-giá trị và được yêu cầu khi tệp JSON chứa các khóa ngẫu nhiên. Tạo một tệp JSON có tên là RandomKey. json với nội dung sau

randomKey. json

{
"7856". {
"tên". "Di động" ,
"thương hiệu". "Samaung" ,
"mô hình". "J4" ,
"giá". 500
    } ,
"4320". {
"tên". "Máy tính xách tay" ,
"thương hiệu". "HP" ,
"mô hình". "Gian hàng 15" ,
"giá". 1000
    } ,
"9067". {
"tên". "Máy tính bảng" ,
"thương hiệu". "Asus" ,
"mô hình". "CT100PA" ,
"giá". 200
    } ,
"1675". {
"tên". "Máy tính để bàn" ,
"thương hiệu". "Dell" ,
"mô hình". "Không" ,
"giá". 700
    }
}

Tạo một tệp PHP với tập lệnh sau để đọc RandomKey. json bằng cách sử dụng hàm file_get_contents() và json_decode(). Tiếp theo, vòng lặp foreach đã được sử dụng để tìm kiếm thông tin sản phẩm cụ thể dựa trên giá trị tìm kiếm được cung cấp trong tham số truy vấn



// Đọc tệp JSON
$randomKey = file_get_contents('randomKey. json');
//Khởi tạo biến
$found = false;
//Chuyển chuỗi JSON thành mảng
$decoded_json = json_decode($randomKey, true);

// Đọc giá trị tìm kiếm từ URL
if(isset($_GET['s']))
$search_product = $_GET['s'];
khác
{
echo"Không có gì để tìm kiếm";
thoát;
}

// Lặp lại giá trị JSON và tìm kiếm thương hiệu
foreach($decoded_jsonas$k =><$v) {
$brand = $decoded_json[$k<]["brand"];
if($brand == $search_product<)
    {
$name = $decoded_json[$k<]["name"];
$model = $decoded_json[$k<]["model"];
$price = $decoded_json[$k<]["price"];
$found = true;
echo"Tên sản phẩm. $name Thương hiệu. $brand Mô hình. $model Giá. $price ";
    }
}
//In thông báo nếu không tìm thấy giá trị tìm kiếm
if($found == false)
echo"Sản phẩm không tồn tại. ";

?>

đầu ra

Chạy tập lệnh trước đó mà không có bất kỳ tham số truy vấn nào

http. // localhost/phpcode/json7. php

Làm cách nào để phân tích cú pháp tệp JSON trong PHP?

Chạy tập lệnh trước với giá trị tham số truy vấn tồn tại trong tệp JSON

http. // localhost/phpcode/json7. php?s=HP

Làm cách nào để phân tích cú pháp tệp JSON trong PHP?

Chạy tập lệnh trước với giá trị tham số truy vấn không tồn tại trong tệp JSON

http. // localhost/phpcode/json7. php?s=Del

Làm cách nào để phân tích cú pháp tệp JSON trong PHP?

Phần kết luận

Các cách khác nhau để in dữ liệu JSON được định dạng bằng cách sử dụng các tập lệnh PHP khác nhau đã được thảo luận trong hướng dẫn này. Hy vọng rằng người dùng PHP sẽ có thể định dạng dữ liệu JSON và tạo đầu ra JSON đẹp bằng cách sử dụng tập lệnh PHP sau khi thực hành chính xác các ví dụ được cung cấp. Chúng tôi hy vọng bạn thấy bài viết này hữu ích. Kiểm tra các bài viết Gợi ý Linux khác để biết thêm mẹo và thông tin

Làm cách nào để phân tích cú pháp JSON thành mảng trong PHP?

The json_decode() là một hàm sẵn có trong php, được sử dụng để chuyển đổi chuỗi được mã hóa JSON thành biến thích hợp trong php. Nói chung, json_decode được sử dụng để chuyển đổi json thành mảng trong PHP nhưng nó cũng có các trường hợp sử dụng khác. Thông số. json. Chuỗi JSON được chuyển để được giải mã thành biến php.

Làm cách nào để giải mã chuỗi JSON trong PHP?

Cú pháp. Hàm json_decode() có thể lấy một chuỗi được mã hóa JSON và chuyển đổi thành một biến PHP . Hàm json_decode() có thể trả về một giá trị được mã hóa bằng JSON theo kiểu PHP thích hợp. Các giá trị true, false và null được trả về lần lượt là TRUE, FALSE và NULL.

Làm cách nào để phân tích tệp JSON lớn trong PHP?

Giải pháp tốt nhất có thể. Sử dụng một số loại dấu phân cách (phân trang, dấu thời gian, ID đối tượng, v.v.) để cho phép bạn đọc dữ liệu theo các phần nhỏ hơn qua nhiều yêu cầu . Giải pháp này giả định rằng bạn có một số loại kiểm soát cách các tệp JSON này được tạo.

Làm cách nào để giải mã tệp JSON?

Bạn chỉ cần sử dụng hàm json_decode() để chuyển đổi các đối tượng JSON thành kiểu dữ liệu PHP thích hợp . Thí dụ. Theo mặc định, hàm json_decode() trả về một đối tượng. Bạn có thể tùy chọn chỉ định tham số thứ hai chấp nhận giá trị boolean. Khi nó được đặt là “true”, các đối tượng JSON được giải mã thành các mảng kết hợp.