JSON được sử dụng để truyền dữ liệu giữa máy chủ và trình duyệt. Đây là một ví dụ cơ bản về những gì có thể có trong chuỗi
echo $character->name;
3{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
Như bạn có thể thấy, đó là định dạng dữ liệu có thể đọc được của con người mà theo truyền thống có thể được lưu trữ trong một bảng. Một số công ty có thể có các tệp
echo $character->name;
3 công khai mà bạn có thể truy cập và trích xuất dữ liệu từ đó [một API mà bạn có thể kết nối]. Bạn cũng có thể lưu tệp echo $character->name;
3 ở đâu đó trong dự án của mình mà bạn muốn trích xuất dữ liệu từ đóBàn thắng
Dữ liệu JSON có thể được truy cập và sử dụng với nhiều ngôn ngữ lập trình. Trong hướng dẫn này, chúng ta sẽ tìm hiểu cách truy cập JSON bằng PHP và JavaScript
điều kiện tiên quyết
- Bạn phải thiết lập máy chủ cục bộ hoặc máy chủ chạy PHP và một số kiến thức cơ bản về PHP
- Kiến thức cơ bản về các khái niệm lập trình [mảng và biến] và sử dụng JavaScript
JSON là gì?
JSON là viết tắt của Ký hiệu đối tượng JavaScript. Đó là dữ liệu được lưu trong tệp
echo $character->name;
3 và bao gồm một loạt các cặp khóa/giá trị{ "key": "value" }
Giá trị của bất kỳ khóa JSON nào có thể là một chuỗi, Boolean, số, null, mảng hoặc đối tượng. Nhận xét không được phép trong JSON
Mặc dù JSON giống một đối tượng hoặc một mảng, nhưng JSON là một chuỗi. Một chuỗi được tuần tự hóa, có nghĩa là sau này nó có thể được phân tích cú pháp và giải mã thành các loại dữ liệu
Sử dụng dữ liệu từ JSON với PHP
Đầu tiên, để hiểu rõ rằng JSON chỉ đơn giản là một chuỗi, chúng ta sẽ viết JSON thành một chuỗi PHP và áp dụng nó cho một biến có tên là
echo $character->name;
7$data = '{
"name": "Aragorn",
"race": "Human"
}';
Sau đó, chúng ta sẽ sử dụng hàm
echo $character->name;
8 để chuyển đổi chuỗi JSON thành đối tượng PHP$character = json_decode[$data];
Bây giờ chúng ta có thể truy cập nó như một đối tượng PHP
echo $character->name;
Đây là toàn bộ tập tin
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
1Đây là đầu ra
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
2Truy cập nguồn cấp dữ liệu JSON từ một URL
Từ giờ trở đi, chúng tôi sẽ đưa tất cả dữ liệu JSON vào tệp
echo $character->name;
3 của riêng nó. Bằng cách này, chúng ta có thể truy xuất nội dung của tệp thay vì giữ nó dưới dạng chuỗi PHPĐây là dữ liệu. json sẽ trông như thế nào
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
4Và đây là cách chúng tôi trích xuất dữ liệu đó trong PHP
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
5Để có được một mục nhập, chúng ta sẽ phải truy cập vào số mảng thích hợp. Hãy nhớ rằng, đếm bắt đầu bằng 0 trong lập trình
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
6{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
2Tôi có thể truy cập tất cả dữ liệu trong mảng bằng vòng lặp
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
10{ "key": "value" }
1{ "key": "value" }
2Đây là tập tin PHP đầy đủ
{ "key": "value" }
3Ví dụ, chúng ta có thể hiển thị dữ liệu trong một bảng
{ "key": "value" }
4TênChủng tộcAragornCon ngườiGimliNgười lùnLegolasYêu tinhTrong ví dụ này, tôi đang sử dụng cú pháp thay thế cho
10, trông giống như{ "name": "Tania", "title": "Web Developer", "website": "" }
12 thay vì{ "name": "Tania", "title": "Web Developer", "website": "" }
13. Điều này thường thích hợp hơn khi xuất HTML{ "name": "Tania", "title": "Web Developer", "website": "" }
Sử dụng mảng kết hợp
Có một cách khác để chúng ta có thể truy cập dữ liệu trong PHP. Nếu bạn chuyển
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
14 làm đối số trong echo $character->name;
8, dữ liệu sẽ trở thành một mảng kết hợp thay vì một đối tượng. Điều này có nghĩa là chúng ta sẽ sử dụng ký hiệu dấu ngoặc vuông_______116 thay vì mũi tên nhỏ{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
17{ "key": "value" }
5Thay vì
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
18, chúng tôi sẽ truy cập giá trị bằng {
"name": "Tania",
"title": "Web Developer",
"website": ""
}
19{ "key": "value" }
6{ "key": "value" }
7Và đây là cách truy cập vòng lặp
{ "key": "value" }
8{ "key": "value" }
9Lấy dữ liệu từ các mảng lồng nhau
Cho đến nay, chúng tôi chỉ sử dụng nguồn cấp dữ liệu JSON với các cặp khóa/giá trị, nhưng việc lồng nhau là điều phổ biến. Đây là một ví dụ kỳ lạ khác mà chúng ta có thể lưu trong một tệp mới có tên là trình hướng dẫn. json
$data = '{
"name": "Aragorn",
"race": "Human"
}';
0Giải mã nguồn cấp dữ liệu
$data = '{
"name": "Aragorn",
"race": "Human"
}';
1Chúng tôi sẽ có thể truy cập mảng lồng nhau bằng cách sử dụng
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
20 trong một vòng lặp hoặc bất kỳ số nào tương ứng chính xác nếu bạn chỉ muốn in một$data = '{
"name": "Aragorn",
"race": "Human"
}';
2$data = '{
"name": "Aragorn",
"race": "Human"
}';
3Chuyển đổi một đối tượng hoặc mảng PHP thành JSON
Giống như bạn sử dụng
echo $character->name;
8 để biến JSON thành PHP, bạn có thể biến PHP thành JSON bằng {
"name": "Tania",
"title": "Web Developer",
"website": ""
}
22$data = '{
"name": "Aragorn",
"race": "Human"
}';
4Chúng tôi đã tạo một mảng PHP và mã hóa nó. Đây là đầu ra
$data = '{
"name": "Aragorn",
"race": "Human"
}';
5Sử dụng dữ liệu từ JSON với JavaScript
Chúng ta sẽ tạo một biến JavaScript có tên là
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
23 và áp dụng chuỗi JSON$data = '{
"name": "Aragorn",
"race": "Human"
}';
6Bây giờ chúng ta sẽ sử dụng JavaScript tích hợp trong hàm
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
24 để giải mã chuỗi$data = '{
"name": "Aragorn",
"race": "Human"
}';
7Từ đây, chúng ta có thể truy cập dữ liệu như một đối tượng JavaScript thông thường
$data = '{
"name": "Aragorn",
"race": "Human"
}';
8$data = '{
"name": "Aragorn",
"race": "Human"
}';
9Và chúng ta có thể lặp qua từng lần lặp bằng vòng lặp
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
25$character = json_decode[$data];
0$character = json_decode[$data];
1Điều đó thật dễ dàng. Bây giờ, có lẽ chúng ta sẽ cần truy cập JSON từ một URL. Có một bước bổ sung liên quan, nơi chúng tôi phải đưa ra yêu cầu đối với tệp. Hãy lấy chuỗi JSON ở trên và đặt nó vào dữ liệu. json
$character = json_decode[$data];
2Bây giờ chúng ta sẽ tạo một
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
26$character = json_decode[$data];
3Chúng tôi sẽ mở tệp [dữ liệu. json] thông qua yêu cầu GET [URL]
$character = json_decode[$data];
4Từ đây, chúng ta sẽ phân tích cú pháp và làm việc với tất cả dữ liệu JSON trong hàm
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
27$character = json_decode[$data];
5Sau đó, cuối cùng, gửi yêu cầu
$character = json_decode[$data];
6Đây là mã cuối cùng
$character = json_decode[$data];
7Và đầu ra
$character = json_decode[$data];
8Sử dụng Tìm nạp
Bây giờ bạn cũng có thể sử dụng Fetch API để làm điều tương tự. Đọc Cách sử dụng API tìm nạp JavaScript để lấy dữ liệu JSON để biết phương pháp lấy dữ liệu này dễ dàng hơn
$character = json_decode[$data];
9Sử dụng jQuery
Như bạn có thể thấy, không quá khó để truy xuất nguồn cấp dữ liệu JSON bằng JavaScript đơn giản. Tuy nhiên, nó thậm chí còn dễ dàng hơn với jQuery, sử dụng hàm
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
28. Nếu bạn không biết jQuery hoạt động như thế nào, bạn sẽ cần tải thư viện jQuery JavaScript trước bất kỳ mã tùy chỉnh nào trong số nàyecho $character->name;
0Bạn cũng có thể thấy JSON truy cập jQuery thông qua một yêu cầu AJAX, dài dòng hơn một chút
echo $character->name;
1Cả hai sẽ có cùng một đầu ra
{
"name": "Tania",
"title": "Web Developer",
"website": ""
}
2Phần kết luận
Hy vọng rằng bài viết này đã dạy cho bạn một chút về JSON là gì và làm gì, cũng như cách truy cập dữ liệu JSON bằng PHP, JavaScript hoặc jQuery