Mã Php để lấy dữ liệu json từ url

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": ""
}
2

Truy 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": ""
}
4

Và đâ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": ""
}
2

Tô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" }
3

Ví dụ, chúng ta có thể hiển thị dữ liệu trong một bảng

{ "key": "value" }
4

TênChủng tộcAragornCon ngườiGimliNgười lùnLegolasYêu tinh

Trong ví dụ này, tôi đang sử dụng cú pháp thay thế cho

{
  "name": "Tania",
  "title": "Web Developer",
  "website": ""
}
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

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" }
5

Thay 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" }
7

Và đây là cách truy cập vòng lặp

{ "key": "value" }
8

{ "key": "value" }
9

Lấ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"
}';
0

Giải mã nguồn cấp dữ liệu

$data = '{
	"name": "Aragorn",
	"race": "Human"
}';
1

Chú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"
}';
3

Chuyể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"
}';
4

Chúng tôi đã tạo một mảng PHP và mã hóa nó. Đây là đầu ra

$data = '{
	"name": "Aragorn",
	"race": "Human"
}';
5

Sử 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"
}';
6

Bâ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"
}';
7

Từ đâ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"
}';
9

Và 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];
2

Bây giờ chúng ta sẽ tạo một

{
  "name": "Tania",
  "title": "Web Developer",
  "website": ""
}
26

$character = json_decode[$data];
3

Chúng tôi sẽ mở tệp [dữ liệu. json] thông qua yêu cầu GET [URL]

$character = json_decode[$data];
4

Từ đâ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];
5

Sau đó, 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];
7

Và đầu ra

$character = json_decode[$data];
8

Sử 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];
9

Sử 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ày

echo $character->name;
0

Bạ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;
1

Cả hai sẽ có cùng một đầu ra

{
  "name": "Tania",
  "title": "Web Developer",
  "website": ""
}
2

Phầ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

Làm cách nào để lấy dữ liệu JSON từ URL trong PHP?

Hàm php file_get_contents[$url] gửi yêu cầu http đến url được cung cấp và trả về dữ liệu json . Hàm json_decode[$json] giải mã chuỗi json được cung cấp và trả về dưới dạng đối tượng PHP. Đơn giản như vậy, bạn có thể phân tích phản hồi json. Đó là tất cả về việc lấy json từ url trong php.

Tôi làm cách nào để lấy dữ liệu JSON từ URL?

loads[] trả về đối tượng JSON. Dưới đây là quy trình mà chúng ta có thể đọc phản hồi JSON từ một liên kết hoặc URL trong python. .
Nhập các mô-đun cần thiết
Chỉ định URL
Nhận phản hồi của URL bằng cách sử dụng urlopen[]
Chuyển đổi nó thành phản hồi JSON bằng json. tải []
Hiển thị phản hồi JSON được tạo

Làm cách nào để lấy dữ liệu từ URL trong PHP?

Các tham số từ một chuỗi URL có thể được truy xuất trong PHP bằng cách sử dụng các hàm parse_url[] và parse_str[] .

Làm cách nào để nhận giá trị JSON 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[]

Chủ Đề