JSON là viết tắt của Ký hiệu đối tượng JavaScript [Ký hiệu đối tượng JavaScript] và là một cú pháp để lưu trữ và trao đổi dữ liệu
Vì định dạng JSON là định dạng dựa trên văn bản, nên nó có thể dễ dàng được gửi đến và đi đến một máy chủ mà không bị tường lửa ngăn chặn và được sử dụng làm định dạng dữ liệu bởi bất kỳ ngôn ngữ lập trình nào
PHP và JSON
PHP có sẵn một số hàm tính toán để xử lý JSON. Đầu tiên, chúng ta sẽ xem xét hai hàm sau
- json_encode[]
- json_decode[]
Hàm json_encode[] trong PHP
Hàm
{"Peter":35,"Ben":37,"Joe":43}
6 được sử dụng để mã hóa giá trị thành định dạng JSONVí dụ này cho thấy cách mã hóa một mảng kết hợp thành một đối tượng JSON
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
This is results
{"Peter":35,"Ben":37,"Joe":43}
Ví dụ này cho thấy cách mã hóa một mảng được thiết lập chỉ mục thành một mảng JSON
This is results
["Volvo","BMW","Toyota"]
Hàm json_decode[] trong PHP
Hàm
{"Peter":35,"Ben":37,"Joe":43}
7 đượ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ợpVí dụ này giải mã dữ liệu JSON thành một đối tượng PHP
This is results
object[stdClass]#1 [3] { ["Peter"]=> int[35] ["Ben"]=> int[37] ["Joe"]=> int[43] }
Hàm
{"Peter":35,"Ben":37,"Joe":43}
7 trả về một đối tượng theo mặc định. Hàm
{"Peter":35,"Ben":37,"Joe":43}
7 có tham số thứ hai và khi được đặt thành đúng, các đối tượng JSON được giải mã thành các mảng kết hợpVí dụ này giải mã dữ liệu JSON thành một kết hợp PHP
This is results
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
1Truy cập các giá trị đã được giải mã
Dưới đây là hai ví dụ về cách truy cập các giá trị được giải mã từ một đối tượng và từ một mảng kết hợp
JSON, viết tắt của JavaScript Object Notation, là một định dạng nhẹ phổ biến để lưu trữ và trao đổi thông tin. Như cái tên gợi ý, ban đầu nó được bắt nguồn từ JavaScript, nhưng nó là một định dạng độc lập với ngôn ngữ để lưu trữ thông tin. Rất nhiều ngôn ngữ như PHP hiện triển khai các chức năng để đọc và tạo dữ liệu JSON
Hướng dẫn này sẽ dạy bạn cách đọc một tệp JSON và chuyển đổi nó thành một mảng trong PHP. Tìm hiểu cách phân tích cú pháp JSON bằng hàm
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
233 và 35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
234Đọc JSON từ một tệp hoặc chuỗi trong PHP
Giả sử bạn có một tệp chứa thông tin ở định dạng JSON. Làm thế nào để bạn truy cập và lưu trữ nó trong PHP?
Trước tiên, bạn cần lấy dữ liệu từ tệp thành một biến bằng cách sử dụng
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
235. Sau khi dữ liệu ở dạng chuỗi, bạn có thể gọi hàm 35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
236 để trích xuất thông tin từ chuỗi. Hãy nhớ rằng JSON chỉ cung cấp một cách để lưu trữ thông tin dưới dạng chuỗi bằng cách sử dụng một bộ quy tắc được xác định trước. Công việc của chúng tôi là giải mã đúng các chuỗi và lấy thông tin chúng tôi muốnHàm
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
233 chấp nhận bốn tham số, nhưng bạn sẽ chỉ cần hai tham số đầu tiên trong hầu hết các trường hợp. Tham số đầu tiên chỉ định chuỗi mà bạn muốn giải mã. Tham số thứ hai xác định cách dữ liệu đã giải mã được trả về. Đặt nó thành 35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
238 sẽ trả về một mảng kết hợp và 35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
239 sẽ trả về các đối tượng. Đây là một ví dụ cơ bản. Chúng tôi có một tập tin được gọi là người. json với nội dung sau35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
9
{"Peter":35,"Ben":37,"Joe":43}
0
{"Peter":35,"Ben":37,"Joe":43}
1
{"Peter":35,"Ben":37,"Joe":43}
2
{"Peter":35,"Ben":37,"Joe":43}
335, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
2
{"Peter":35,"Ben":37,"Joe":43}
5
{"Peter":35,"Ben":37,"Joe":43}
6
{"Peter":35,"Ben":37,"Joe":43}
7
{"Peter":35,"Ben":37,"Joe":43}
8Chúng tôi có thể đọc thông tin từ tệp JSON này bằng cách sử dụng mã bên dưới
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
9
{"Peter":35,"Ben":37,"Joe":43}
01______21
{"Peter":35,"Ben":37,"Joe":43}
3
{"Peter":35,"Ben":37,"Joe":43}
04
{"Peter":35,"Ben":37,"Joe":43}
5
{"Peter":35,"Ben":37,"Joe":43}
7
{"Peter":35,"Ben":37,"Joe":43}
07
{"Peter":35,"Ben":37,"Joe":43}
08
{"Peter":35,"Ben":37,"Joe":43}
09
{"Peter":35,"Ben":37,"Joe":43}
10
{"Peter":35,"Ben":37,"Joe":43}
11
{"Peter":35,"Ben":37,"Joe":43}
12
{"Peter":35,"Ben":37,"Joe":43}
13
{"Peter":35,"Ben":37,"Joe":43}
14
{"Peter":35,"Ben":37,"Joe":43}
15
{"Peter":35,"Ben":37,"Joe":43}
16
{"Peter":35,"Ben":37,"Joe":43}
17
{"Peter":35,"Ben":37,"Joe":43}
18
{"Peter":35,"Ben":37,"Joe":43}
19
{"Peter":35,"Ben":37,"Joe":43}
20
{"Peter":35,"Ben":37,"Joe":43}
21
{"Peter":35,"Ben":37,"Joe":43}
22
{"Peter":35,"Ben":37,"Joe":43}
23
{"Peter":35,"Ben":37,"Joe":43}
24
{"Peter":35,"Ben":37,"Joe":43}
25Trong ví dụ trên,
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
233 đã trả về một đối tượng vì tham số thứ hai được đặt thành 35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
239. Bạn có thể đặt thành 35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
238 để lấy lại dữ liệu dưới dạng mảng kết hợp35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
9
{"Peter":35,"Ben":37,"Joe":43}
01_______21
{"Peter":35,"Ben":37,"Joe":43}
3
{"Peter":35,"Ben":37,"Joe":43}
04
{"Peter":35,"Ben":37,"Joe":43}
5
{"Peter":35,"Ben":37,"Joe":43}
7
{"Peter":35,"Ben":37,"Joe":43}
33
{"Peter":35,"Ben":37,"Joe":43}
08
{"Peter":35,"Ben":37,"Joe":43}
09
{"Peter":35,"Ben":37,"Joe":43}
36
{"Peter":35,"Ben":37,"Joe":43}
11
{"Peter":35,"Ben":37,"Joe":43}
12
{"Peter":35,"Ben":37,"Joe":43}
13
{"Peter":35,"Ben":37,"Joe":43}
1435, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
21
{"Peter":35,"Ben":37,"Joe":43}
16
{"Peter":35,"Ben":37,"Joe":43}
17
{"Peter":35,"Ben":37,"Joe":43}
18
{"Peter":35,"Ben":37,"Joe":43}
1935, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
26
{"Peter":35,"Ben":37,"Joe":43}
21
{"Peter":35,"Ben":37,"Joe":43}
22
{"Peter":35,"Ben":37,"Joe":43}
23
{"Peter":35,"Ben":37,"Joe":43}
24
{"Peter":35,"Ben":37,"Joe":43}
25Bây giờ, chúng tôi sẽ giải mã JSON phức tạp hơn một chút và cố gắng lấy lại thông tin hữu ích từ nó
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
9
{"Peter":35,"Ben":37,"Joe":43}
0_______21
{"Peter":35,"Ben":37,"Joe":43}
2
{"Peter":35,"Ben":37,"Joe":43}
335, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
2
{"Peter":35,"Ben":37,"Joe":43}
5
{"Peter":35,"Ben":37,"Joe":43}
59
{"Peter":35,"Ben":37,"Joe":43}
7
{"Peter":35,"Ben":37,"Joe":43}
61
{"Peter":35,"Ben":37,"Joe":43}
08
{"Peter":35,"Ben":37,"Joe":43}
63
{"Peter":35,"Ben":37,"Joe":43}
09
{"Peter":35,"Ben":37,"Joe":43}
65
{"Peter":35,"Ben":37,"Joe":43}
11
{"Peter":35,"Ben":37,"Joe":43}
67
{"Peter":35,"Ben":37,"Joe":43}
13
{"Peter":35,"Ben":37,"Joe":43}
69
{"Peter":35,"Ben":37,"Joe":43}
14
{"Peter":35,"Ben":37,"Joe":43}
8Mục tiêu của chúng tôi là lấy lại tất cả các quốc gia mà người đó đã đến thăm trong các năm khác nhau. Giá trị được trả về bởi
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
243 thực sự sẽ là một mảng và chúng tôi sẽ lặp qua nó giống như các mảng thông thường để lấy dữ liệu của chúng tôi35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
9
{"Peter":35,"Ben":37,"Joe":43}
01
{"Peter":35,"Ben":37,"Joe":43}
1
{"Peter":35,"Ben":37,"Joe":43}
3
{"Peter":35,"Ben":37,"Joe":43}
04
{"Peter":35,"Ben":37,"Joe":43}
5
{"Peter":35,"Ben":37,"Joe":43}
7
{"Peter":35,"Ben":37,"Joe":43}
33
{"Peter":35,"Ben":37,"Joe":43}
08
{"Peter":35,"Ben":37,"Joe":43}
09
{"Peter":35,"Ben":37,"Joe":43}
82
{"Peter":35,"Ben":37,"Joe":43}
11
{"Peter":35,"Ben":37,"Joe":43}
84
{"Peter":35,"Ben":37,"Joe":43}
13
{"Peter":35,"Ben":37,"Joe":43}
14
{"Peter":35,"Ben":37,"Joe":43}
87
{"Peter":35,"Ben":37,"Joe":43}
16
{"Peter":35,"Ben":37,"Joe":43}
89
{"Peter":35,"Ben":37,"Joe":43}
18
{"Peter":35,"Ben":37,"Joe":43}
001
{"Peter":35,"Ben":37,"Joe":43}
19
{"Peter":35,"Ben":37,"Joe":43}
003
{"Peter":35,"Ben":37,"Joe":43}
21
{"Peter":35,"Ben":37,"Joe":43}
005
{"Peter":35,"Ben":37,"Joe":43}
23
{"Peter":35,"Ben":37,"Joe":43}
007
{"Peter":35,"Ben":37,"Joe":43}
24
{"Peter":35,"Ben":37,"Joe":43}
009
{"Peter":35,"Ben":37,"Joe":43}
010
{"Peter":35,"Ben":37,"Joe":43}
011
{"Peter":35,"Ben":37,"Joe":43}
012
{"Peter":35,"Ben":37,"Joe":43}
013
{"Peter":35,"Ben":37,"Joe":43}
25Hãy xem qua một ví dụ cuối cùng về trích xuất thông tin từ tệp JSON. Đây là JSON mà từ đó chúng tôi sẽ trích xuất dữ liệu của mình
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
9
{"Peter":35,"Ben":37,"Joe":43}
0
{"Peter":35,"Ben":37,"Joe":43}
1
{"Peter":35,"Ben":37,"Joe":43}
018
{"Peter":35,"Ben":37,"Joe":43}
3
{"Peter":35,"Ben":37,"Joe":43}
020
{"Peter":35,"Ben":37,"Joe":43}
5
{"Peter":35,"Ben":37,"Joe":43}
022
{"Peter":35,"Ben":37,"Joe":43}
7
{"Peter":35,"Ben":37,"Joe":43}
024
{"Peter":35,"Ben":37,"Joe":43}
08
{"Peter":35,"Ben":37,"Joe":43}
026
{"Peter":35,"Ben":37,"Joe":43}
09
{"Peter":35,"Ben":37,"Joe":43}
028
{"Peter":35,"Ben":37,"Joe":43}
11
{"Peter":35,"Ben":37,"Joe":43}
030
{"Peter":35,"Ben":37,"Joe":43}
13
{"Peter":35,"Ben":37,"Joe":43}
032
{"Peter":35,"Ben":37,"Joe":43}
14
{"Peter":35,"Ben":37,"Joe":43}
034
{"Peter":35,"Ben":37,"Joe":43}
16
{"Peter":35,"Ben":37,"Joe":43}
036
{"Peter":35,"Ben":37,"Joe":43}
18
{"Peter":35,"Ben":37,"Joe":43}
030
{"Peter":35,"Ben":37,"Joe":43}
19
{"Peter":35,"Ben":37,"Joe":43}
040
{"Peter":35,"Ben":37,"Joe":43}
21
{"Peter":35,"Ben":37,"Joe":43}
042
{"Peter":35,"Ben":37,"Joe":43}
23
{"Peter":35,"Ben":37,"Joe":43}
036
{"Peter":35,"Ben":37,"Joe":43}
24
{"Peter":35,"Ben":37,"Joe":43}
030
{"Peter":35,"Ben":37,"Joe":43}
010
{"Peter":35,"Ben":37,"Joe":43}
048
{"Peter":35,"Ben":37,"Joe":43}
012
{"Peter":35,"Ben":37,"Joe":43}
050
{"Peter":35,"Ben":37,"Joe":43}
013
{"Peter":35,"Ben":37,"Joe":43}
052
{"Peter":35,"Ben":37,"Joe":43}
053
{"Peter":35,"Ben":37,"Joe":43}
054
{"Peter":35,"Ben":37,"Joe":43}
055
{"Peter":35,"Ben":37,"Joe":43}
056
{"Peter":35,"Ben":37,"Joe":43}
057
{"Peter":35,"Ben":37,"Joe":43}
020
{"Peter":35,"Ben":37,"Joe":43}
059
{"Peter":35,"Ben":37,"Joe":43}
060
{"Peter":35,"Ben":37,"Joe":43}
061
{"Peter":35,"Ben":37,"Joe":43}
062
{"Peter":35,"Ben":37,"Joe":43}
063
{"Peter":35,"Ben":37,"Joe":43}
064
{"Peter":35,"Ben":37,"Joe":43}
065
{"Peter":35,"Ben":37,"Joe":43}
028
{"Peter":35,"Ben":37,"Joe":43}
067
{"Peter":35,"Ben":37,"Joe":43}
030
{"Peter":35,"Ben":37,"Joe":43}
069
{"Peter":35,"Ben":37,"Joe":43}
070
{"Peter":35,"Ben":37,"Joe":43}
071
{"Peter":35,"Ben":37,"Joe":43}
072
{"Peter":35,"Ben":37,"Joe":43}
073
{"Peter":35,"Ben":37,"Joe":43}
036
{"Peter":35,"Ben":37,"Joe":43}
075
{"Peter":35,"Ben":37,"Joe":43}
030
{"Peter":35,"Ben":37,"Joe":43}
077
{"Peter":35,"Ben":37,"Joe":43}
078
{"Peter":35,"Ben":37,"Joe":43}
079
{"Peter":35,"Ben":37,"Joe":43}
080
{"Peter":35,"Ben":37,"Joe":43}
081
{"Peter":35,"Ben":37,"Joe":43}
036
{"Peter":35,"Ben":37,"Joe":43}
083
{"Peter":35,"Ben":37,"Joe":43}
030
{"Peter":35,"Ben":37,"Joe":43}
085
{"Peter":35,"Ben":37,"Joe":43}
086
{"Peter":35,"Ben":37,"Joe":43}
087
{"Peter":35,"Ben":37,"Joe":43}
088
{"Peter":35,"Ben":37,"Joe":43}
089
{"Peter":35,"Ben":37,"Joe":43}
052
{"Peter":35,"Ben":37,"Joe":43}
091
{"Peter":35,"Ben":37,"Joe":43}
054
{"Peter":35,"Ben":37,"Joe":43}
093
{"Peter":35,"Ben":37,"Joe":43}
056
{"Peter":35,"Ben":37,"Joe":43}
095
{"Peter":35,"Ben":37,"Joe":43}
020
{"Peter":35,"Ben":37,"Joe":43}
097
{"Peter":35,"Ben":37,"Joe":43}
098
{"Peter":35,"Ben":37,"Joe":43}
099___ Lần này, chúng tôi có hai mảng lồng nhau trong dữ liệu JSON. Vì vậy, chúng tôi sẽ sử dụng hai vòng lặp lồng nhau để lấy các quốc gia được các khách hàng khác nhau ghé thăm
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
9
{"Peter":35,"Ben":37,"Joe":43}
01
{"Peter":35,"Ben":37,"Joe":43}
1
{"Peter":35,"Ben":37,"Joe":43}
3
{"Peter":35,"Ben":37,"Joe":43}
04
{"Peter":35,"Ben":37,"Joe":43}
5
{"Peter":35,"Ben":37,"Joe":43}
7
{"Peter":35,"Ben":37,"Joe":43}
33
{"Peter":35,"Ben":37,"Joe":43}
08
{"Peter":35,"Ben":37,"Joe":43}
09
{"Peter":35,"Ben":37,"Joe":43}
185
{"Peter":35,"Ben":37,"Joe":43}
11
{"Peter":35,"Ben":37,"Joe":43}
13
{"Peter":35,"Ben":37,"Joe":43}
188
{"Peter":35,"Ben":37,"Joe":43}
14
{"Peter":35,"Ben":37,"Joe":43}
190
{"Peter":35,"Ben":37,"Joe":43}
16
{"Peter":35,"Ben":37,"Joe":43}
192
{"Peter":35,"Ben":37,"Joe":43}
18
{"Peter":35,"Ben":37,"Joe":43}
19
{"Peter":35,"Ben":37,"Joe":43}
195
{"Peter":35,"Ben":37,"Joe":43}
21
{"Peter":35,"Ben":37,"Joe":43}
197
{"Peter":35,"Ben":37,"Joe":43}
23
{"Peter":35,"Ben":37,"Joe":43}
199
{"Peter":35,"Ben":37,"Joe":43}
24
{"Peter":35,"Ben":37,"Joe":43}
001
{"Peter":35,"Ben":37,"Joe":43}
010
{"Peter":35,"Ben":37,"Joe":43}
012
{"Peter":35,"Ben":37,"Joe":43}
003
{"Peter":35,"Ben":37,"Joe":43}
013
{"Peter":35,"Ben":37,"Joe":43}
206
{"Peter":35,"Ben":37,"Joe":43}
053
{"Peter":35,"Ben":37,"Joe":43}
208
{"Peter":35,"Ben":37,"Joe":43}
055
{"Peter":35,"Ben":37,"Joe":43}
210
{"Peter":35,"Ben":37,"Joe":43}
057
{"Peter":35,"Ben":37,"Joe":43}
212
{"Peter":35,"Ben":37,"Joe":43}
059
{"Peter":35,"Ben":37,"Joe":43}
214
{"Peter":35,"Ben":37,"Joe":43}
061
{"Peter":35,"Ben":37,"Joe":43}
216
{"Peter":35,"Ben":37,"Joe":43}
063
{"Peter":35,"Ben":37,"Joe":43}
218
{"Peter":35,"Ben":37,"Joe":43}
065
{"Peter":35,"Ben":37,"Joe":43}
212
{"Peter":35,"Ben":37,"Joe":43}
067
{"Peter":35,"Ben":37,"Joe":43}
222
{"Peter":35,"Ben":37,"Joe":43}
069
{"Peter":35,"Ben":37,"Joe":43}
224
{"Peter":35,"Ben":37,"Joe":43}
071
{"Peter":35,"Ben":37,"Joe":43}
226
{"Peter":35,"Ben":37,"Joe":43}
073
{"Peter":35,"Ben":37,"Joe":43}
212
{"Peter":35,"Ben":37,"Joe":43}
075
{"Peter":35,"Ben":37,"Joe":43}
005
{"Peter":35,"Ben":37,"Joe":43}
077
{"Peter":35,"Ben":37,"Joe":43}
007
{"Peter":35,"Ben":37,"Joe":43}
079
{"Peter":35,"Ben":37,"Joe":43}
009
{"Peter":35,"Ben":37,"Joe":43}
081
{"Peter":35,"Ben":37,"Joe":43}
011
{"Peter":35,"Ben":37,"Joe":43}
083
{"Peter":35,"Ben":37,"Joe":43}
085
{"Peter":35,"Ben":37,"Joe":43}
25Bây giờ bạn sẽ có một ý tưởng sơ bộ về cách tiếp cận mà bạn nên thực hiện để đọc dữ liệu JSON từ một tệp tùy thuộc vào cách nó được tạo
Đọc dữ liệu JSON mà không cần biết trước các khóa
Cho đến nay chúng tôi đã đọc dữ liệu JSON nơi chúng tôi đã biết tất cả các khóa. Điều đó có thể không phải lúc nào cũng đúng. May mắn thay, chúng tôi vẫn có thể trích xuất thông tin hữu ích từ tệp khi chúng tôi đã lưu trữ nó dưới dạng một mảng kết hợp. Ví dụ sau đây sẽ làm sáng tỏ mọi thứ
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
9
{"Peter":35,"Ben":37,"Joe":43}
0
{"Peter":35,"Ben":37,"Joe":43}
1
{"Peter":35,"Ben":37,"Joe":43}
243
{"Peter":35,"Ben":37,"Joe":43}
3
{"Peter":35,"Ben":37,"Joe":43}
022
{"Peter":35,"Ben":37,"Joe":43}
5
{"Peter":35,"Ben":37,"Joe":43}
247
{"Peter":35,"Ben":37,"Joe":43}
7
{"Peter":35,"Ben":37,"Joe":43}
249
{"Peter":35,"Ben":37,"Joe":43}
08
{"Peter":35,"Ben":37,"Joe":43}
251
{"Peter":35,"Ben":37,"Joe":43}
09
{"Peter":35,"Ben":37,"Joe":43}
098
{"Peter":35,"Ben":37,"Joe":43}
11
{"Peter":35,"Ben":37,"Joe":43}
255
{"Peter":35,"Ben":37,"Joe":43}
13
{"Peter":35,"Ben":37,"Joe":43}
249
{"Peter":35,"Ben":37,"Joe":43}
14
{"Peter":35,"Ben":37,"Joe":43}
259
{"Peter":35,"Ben":37,"Joe":43}
16
{"Peter":35,"Ben":37,"Joe":43}
060
{"Peter":35,"Ben":37,"Joe":43}
18
{"Peter":35,"Ben":37,"Joe":43}
263
{"Peter":35,"Ben":37,"Joe":43}
19
{"Peter":35,"Ben":37,"Joe":43}
249
{"Peter":35,"Ben":37,"Joe":43}
21
{"Peter":35,"Ben":37,"Joe":43}
267
{"Peter":35,"Ben":37,"Joe":43}
23
{"Peter":35,"Ben":37,"Joe":43}
136
{"Peter":35,"Ben":37,"Joe":43}
24
{"Peter":35,"Ben":37,"Joe":43}
271
{"Peter":35,"Ben":37,"Joe":43}
010
{"Peter":35,"Ben":37,"Joe":43}
273
{"Peter":35,"Ben":37,"Joe":43}
012
{"Peter":35,"Ben":37,"Joe":43}
8Các khóa trong JSON trên dường như là các chuỗi ngẫu nhiên mà chúng ta không thể đoán trước được. Tuy nhiên, khi chúng tôi chuyển đổi nó thành một mảng kết hợp, chúng tôi sẽ không còn cần phải biết chính xác các giá trị chính để lặp qua dữ liệu
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
9
{"Peter":35,"Ben":37,"Joe":43}
01
{"Peter":35,"Ben":37,"Joe":43}
1
{"Peter":35,"Ben":37,"Joe":43}
3
{"Peter":35,"Ben":37,"Joe":43}
04
{"Peter":35,"Ben":37,"Joe":43}
5
{"Peter":35,"Ben":37,"Joe":43}
7
{"Peter":35,"Ben":37,"Joe":43}
33
{"Peter":35,"Ben":37,"Joe":43}
08
{"Peter":35,"Ben":37,"Joe":43}
09
{"Peter":35,"Ben":37,"Joe":43}
286
{"Peter":35,"Ben":37,"Joe":43}
11
{"Peter":35,"Ben":37,"Joe":43}
288
{"Peter":35,"Ben":37,"Joe":43}
13
{"Peter":35,"Ben":37,"Joe":43}
290
{"Peter":35,"Ben":37,"Joe":43}
14
{"Peter":35,"Ben":37,"Joe":43}
292
{"Peter":35,"Ben":37,"Joe":43}
16
{"Peter":35,"Ben":37,"Joe":43}
294
{"Peter":35,"Ben":37,"Joe":43}
18
{"Peter":35,"Ben":37,"Joe":43}
001
{"Peter":35,"Ben":37,"Joe":43}
19
{"Peter":35,"Ben":37,"Joe":43}
21
{"Peter":35,"Ben":37,"Joe":43}
003
{"Peter":35,"Ben":37,"Joe":43}
23
{"Peter":35,"Ben":37,"Joe":43}
301
{"Peter":35,"Ben":37,"Joe":43}
24
{"Peter":35,"Ben":37,"Joe":43}
303
{"Peter":35,"Ben":37,"Joe":43}
010
{"Peter":35,"Ben":37,"Joe":43}
305
{"Peter":35,"Ben":37,"Joe":43}
012
{"Peter":35,"Ben":37,"Joe":43}
307
{"Peter":35,"Ben":37,"Joe":43}
013
{"Peter":35,"Ben":37,"Joe":43}
011
{"Peter":35,"Ben":37,"Joe":43}
053
{"Peter":35,"Ben":37,"Joe":43}
055
{"Peter":35,"Ben":37,"Joe":43}
25Tạo dữ liệu JSON trong PHP
Bạn cũng có thể biến dữ liệu của mình thành một chuỗi JSON được định dạng tốt trong PHP với sự trợ giúp của hàm
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
244. Về cơ bản, nó chấp nhận ba tham số, nhưng bạn thường chỉ cần tham số đầu tiên, tôi. e. giá trị bạn muốn mã hóa trong hầu hết các tình huống35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
9
{"Peter":35,"Ben":37,"Joe":43}
01
{"Peter":35,"Ben":37,"Joe":43}
1
{"Peter":35,"Ben":37,"Joe":43}
3
{"Peter":35,"Ben":37,"Joe":43}
317
{"Peter":35,"Ben":37,"Joe":43}
5
{"Peter":35,"Ben":37,"Joe":43}
319
{"Peter":35,"Ben":37,"Joe":43}
7
{"Peter":35,"Ben":37,"Joe":43}
321
{"Peter":35,"Ben":37,"Joe":43}
08
{"Peter":35,"Ben":37,"Joe":43}
323
{"Peter":35,"Ben":37,"Joe":43}
09
{"Peter":35,"Ben":37,"Joe":43}
325
{"Peter":35,"Ben":37,"Joe":43}
11
{"Peter":35,"Ben":37,"Joe":43}
327
{"Peter":35,"Ben":37,"Joe":43}
13
{"Peter":35,"Ben":37,"Joe":43}
329
{"Peter":35,"Ben":37,"Joe":43}
14
{"Peter":35,"Ben":37,"Joe":43}
331
{"Peter":35,"Ben":37,"Joe":43}
16
{"Peter":35,"Ben":37,"Joe":43}
18
{"Peter":35,"Ben":37,"Joe":43}
334
{"Peter":35,"Ben":37,"Joe":43}
19
{"Peter":35,"Ben":37,"Joe":43}
21
{"Peter":35,"Ben":37,"Joe":43}
003
{"Peter":35,"Ben":37,"Joe":43}
23
{"Peter":35,"Ben":37,"Joe":43}
339
{"Peter":35,"Ben":37,"Joe":43}
24
{"Peter":35,"Ben":37,"Joe":43}
011
{"Peter":35,"Ben":37,"Joe":43}
010
{"Peter":35,"Ben":37,"Joe":43}
012
{"Peter":35,"Ben":37,"Joe":43}
25Bạn cũng có thể cần sử dụng một số cờ để nhận chuỗi JSON ở định dạng mong muốn. Ví dụ: bạn có thể sử dụng cờ
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
245 để thêm khoảng trắng nhằm định dạng đúng chuỗi JSON. Tương tự, bạn có thể sử dụng cờ 35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
246 để đảm bảo các giá trị float luôn được lưu trữ dưới dạng float, ngay cả khi chúng tương đương với một số nguyên về độ lớn. Bạn có thể xem danh sách tất cả các cờ như vậy trong tài liệu chính thức35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
9
{"Peter":35,"Ben":37,"Joe":43}
01
{"Peter":35,"Ben":37,"Joe":43}
1
{"Peter":35,"Ben":37,"Joe":43}
3
{"Peter":35,"Ben":37,"Joe":43}
317
{"Peter":35,"Ben":37,"Joe":43}
5
{"Peter":35,"Ben":37,"Joe":43}
319
{"Peter":35,"Ben":37,"Joe":43}
7
{"Peter":35,"Ben":37,"Joe":43}
321
{"Peter":35,"Ben":37,"Joe":43}
08
{"Peter":35,"Ben":37,"Joe":43}
323
{"Peter":35,"Ben":37,"Joe":43}
09
{"Peter":35,"Ben":37,"Joe":43}
325
{"Peter":35,"Ben":37,"Joe":43}
11
{"Peter":35,"Ben":37,"Joe":43}
327
{"Peter":35,"Ben":37,"Joe":43}
13
{"Peter":35,"Ben":37,"Joe":43}
329
{"Peter":35,"Ben":37,"Joe":43}
14
{"Peter":35,"Ben":37,"Joe":43}
331
{"Peter":35,"Ben":37,"Joe":43}
16
{"Peter":35,"Ben":37,"Joe":43}
18
{"Peter":35,"Ben":37,"Joe":43}
366
{"Peter":35,"Ben":37,"Joe":43}
19
{"Peter":35,"Ben":37,"Joe":43}
21
{"Peter":35,"Ben":37,"Joe":43}
003
{"Peter":35,"Ben":37,"Joe":43}
23
{"Peter":35,"Ben":37,"Joe":43}
371
{"Peter":35,"Ben":37,"Joe":43}
24
{"Peter":35,"Ben":37,"Joe":43}
373
{"Peter":35,"Ben":37,"Joe":43}
010
{"Peter":35,"Ben":37,"Joe":43}
375
{"Peter":35,"Ben":37,"Joe":43}
012
{"Peter":35,"Ben":37,"Joe":43}
377
{"Peter":35,"Ben":37,"Joe":43}
013
{"Peter":35,"Ben":37,"Joe":43}
379
{"Peter":35,"Ben":37,"Joe":43}
053
{"Peter":35,"Ben":37,"Joe":43}
381
{"Peter":35,"Ben":37,"Joe":43}
055
{"Peter":35,"Ben":37,"Joe":43}
375
{"Peter":35,"Ben":37,"Joe":43}
057
{"Peter":35,"Ben":37,"Joe":43}
385
{"Peter":35,"Ben":37,"Joe":43}
059
{"Peter":35,"Ben":37,"Joe":43}
387
{"Peter":35,"Ben":37,"Joe":43}
061
{"Peter":35,"Ben":37,"Joe":43}
381
{"Peter":35,"Ben":37,"Joe":43}
063
{"Peter":35,"Ben":37,"Joe":43}
375
{"Peter":35,"Ben":37,"Joe":43}
065
{"Peter":35,"Ben":37,"Joe":43}
393
{"Peter":35,"Ben":37,"Joe":43}
067
{"Peter":35,"Ben":37,"Joe":43}
395
{"Peter":35,"Ben":37,"Joe":43}
069
{"Peter":35,"Ben":37,"Joe":43}
381
{"Peter":35,"Ben":37,"Joe":43}
071
{"Peter":35,"Ben":37,"Joe":43}
375
{"Peter":35,"Ben":37,"Joe":43}
07335, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
201
{"Peter":35,"Ben":37,"Joe":43}
07535, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
203
{"Peter":35,"Ben":37,"Joe":43}
07735, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
205
{"Peter":35,"Ben":37,"Joe":43}
07935, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
207
{"Peter":35,"Ben":37,"Joe":43}
08135, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
209
{"Peter":35,"Ben":37,"Joe":43}
083
{"Peter":35,"Ben":37,"Joe":43}
011
{"Peter":35,"Ben":37,"Joe":43}
085
{"Peter":35,"Ben":37,"Joe":43}
087
{"Peter":35,"Ben":37,"Joe":43}
25Xử lý lỗi trong quá trình mã hóa và giải mã
Định dạng JSON yêu cầu chúng tôi tuân theo một bộ quy tắc cụ thể để mã hóa và giải mã chuỗi phù hợp. Ví dụ: tên và giá trị phải được đặt trong dấu ngoặc kép và không được có dấu phẩy ở sau cặp tên-giá trị. Hàm
35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
247 có thể giúp bạn tìm ra loại lỗi mà bạn đang gặp phải để bạn có thể thực hiện các bước thích hợp. Đây là một ví dụ rất cơ bản35, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
9
{"Peter":35,"Ben":37,"Joe":43}
01______21
{"Peter":35,"Ben":37,"Joe":43}
335, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
219
{"Peter":35,"Ben":37,"Joe":43}
5
{"Peter":35,"Ben":37,"Joe":43}
735, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
222
{"Peter":35,"Ben":37,"Joe":43}
0835, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
224
{"Peter":35,"Ben":37,"Joe":43}
09
{"Peter":35,"Ben":37,"Joe":43}
1135, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
227
{"Peter":35,"Ben":37,"Joe":43}
1335, "Ben"=>37, "Joe"=>43];
echo json_encode[$age];
?>
229
{"Peter":35,"Ben":37,"Joe":43}
14
{"Peter":35,"Ben":37,"Joe":43}
16
{"Peter":35,"Ben":37,"Joe":43}
25Suy nghĩ cuối cùng
Trong hướng dẫn này, bạn đã học cách đọc dữ liệu JSON từ một tệp hoặc chuỗi trong PHP. Bạn cũng đã học cách chuyển đổi JSON đó thành một mảng và duyệt qua nó để trích xuất thông tin bạn muốn. Giờ đây, bạn có thể lấy thông tin từ JSON trong một tệp mà bạn không biết tất cả các khóa trong các cặp khóa-giá trị
Trong hai phần trước, chúng tôi đã đề cập đến cách bạn có thể xâu chuỗi dữ liệu dưới dạng JSON trong PHP và các lỗi bạn có thể gặp phải trong quá trình mã hóa và giải mã