JSON là định dạng tốt nhất để truyền dữ liệu qua mạng. Nó là một định dạng dễ dàng phân tích cú pháp tương đối. Đó là lý do tại sao hầu hết API chấp nhận tham số và trả về phản hồi trong JSON
Có các công cụ trực tuyến để chuyển đổi một mảng thành đối tượng JSON. Hướng dẫn này dạy cách tạo một chương trình để chuyển đổi các loại đầu vào mảng PHP khác nhau thành định dạng JSON
Nó có 4 ví dụ khác nhau để chuyển đổi một mảng PHP thành JSON. Chúng quá nhỏ để giúp người mới bắt đầu hiểu khái niệm này một cách dễ dàng
ví dụ nhanh
Ví dụ nhanh này được mã hóa đơn giản bằng giải pháp đơn giản ba dòng. Nó lấy một mảng PHP một chiều và chuyển đổi nó thành JSON
Xem bản trình diễn
Các ví dụ khác từ mảng sang JSON xử lý chuyển đổi mảng đơn giản sang phức tạp. Nó cũng áp dụng tiền sửa đổi [như ánh xạ mảng] trước khi chuyển đổi. Bốn ví dụ là,
- Mảng PHP đơn giản đến phức tạp thành JSON
- Xóa các khóa mảng trước khi chuyển đổi sang JSON
- Chuyển đổi mảng PHP có ký tự có dấu sang JSON
- Mảng PHP thành JSON với bản in đẹp
Nếu bạn muốn mã đảo ngược để giải mã các đối tượng JSON thành một mảng, thì bài viết được liên kết có các ví dụ
Xem bản trình diễn trực tuyến này để chuyển đổi một mảng các giá trị được phân tách bằng dấu phẩy thành một đối tượng JSON
1] Mảng PHP đơn giản đến phức tạp thành JSON
Đoạn code này xử lý 3 kiểu dữ liệu mảng thành một đối tượng JSON. Trong PHP, rất dễ dàng để chuyển đổi một mảng thành JSON
Đây là mã một dòng bằng cách sử dụng hàm PHP json_encode[]
PHP Array to JSON';
$array = array[
100,
250,
375,
400
];
$jsonString = json_encode[$array];
echo $jsonString;
// Associative Array to JSON
echo 'Associative PHP Array to JSON
';
$array = array[
'e1' => 1000,
'e2' => 1500,
'e3' => 2000,
'e4' => 2350,
'e5' => 3000
];
$jsonString = json_encode[$array];
echo $jsonString;
// multidimensional PHP Array to JSON string
echo 'Multidimensional PHP Array to JSON
';
$multiArray = array[
'a1' => array[
'item_id' => 1,
'name' => 'Lion',
'type' => 'Wild',
'location' => 'Zoo'
],
'a2' => array[
'item_id' => 2,
'name' => 'Cat',
'type' => 'Domestic',
'location' => 'Home'
]
];
echo json_encode[$multiArray];
?>
đầu ra
//PHP Array to JSON
[100,250,375,400]
//Associative PHP Array to JSON
{"e1":1000,"e2":1500,"e3":2000,"e4":2350,"e5":3000}
//Multidimensional PHP Array to JSON
{"a1":{"item_id":1,"name":"Lion","type":"Wild","location":"Zoo"},"a2":{"item_id":2,"name":"Cat","type":"Domestic","location":"Home"}}
2] Xóa các khóa mảng trước khi chuyển đổi sang JSON
Mã này xử lý một kịch bản chuyển đổi JSON khác, điều này phải hữu ích nếu cần. Ví dụ: nếu mảng liên kết chủ đề=>dấu và người dùng chỉ cần các dấu để vẽ nó trong biểu đồ
Nó xóa các khóa do người dùng xác định khỏi một mảng kết hợp và áp dụng json_encode để chuyển đổi nó. Đó là một quá trình gồm hai bước
- Nó áp dụng PHP array_values[] để đọc mảng giá trị
- Sau đó, nó áp dụng json_encode trên mảng giá trị
To remove assigned associative keys and PHP Array to JSON';
$array = array[
'e1' => 1000,
'e2' => 1500,
'e3' => 2000,
'e4' => 2350,
'e5' => 3000
];
$jsonString = json_encode[array_values[$array]];
echo $jsonString;
?>
đầu ra
[1000,1500,2000,2350,3000]
3] Chuyển mảng PHP có dấu sang JSON
Đây cũng là một quy trình gồm hai bước để chuyển đổi mảng dữ liệu chứa các ký tự có dấu
Nó áp dụng mã hóa UTF8 trên các giá trị mảng trước khi chuyển đổi chúng thành một đối tượng JSON
Để mã hóa tất cả các phần tử của mảng đã cho, nó ánh xạ utf8_encode[] dưới dạng gọi lại bằng cách sử dụng hàm Array_map[] của PHP
Chúng ta đã thấy các hàm mảng PHP thường được sử dụng khi làm việc với mảng
For accented characters PHP Array to JSON';
$array = array[
'w1' => 'résumé',
'w2' => 'château',
'w3' => 'façade',
'w4' => 'déjà vu',
'w5' => 'São Paulo'
];
$utfEncodedArray = array_map["utf8_encode", $array];
echo json_encode[$utfEncodedArray];
?>
đầu ra
{"w1":"r\u00c3\u00a9sum\u00c3\u00a9","w2":"ch\u00c3\u00a2teau","w3":"fa\u00c3\u00a7ade","w4":"d\u00c3\u00a9j\u00c3\u00a0 vu","w5":"S\u00c3\u00a3o Paulo"}
4] Mảng PHP thành JSON với bản in đẹp
Nó áp dụng cho bản in đẹp trên các thuộc tính JSON đầu ra được chuyển đổi ở định dạng rộng rãi neet
Hàm PHP json_encode[] chấp nhận tham số thứ hai để đặt cờ bitmask. Cờ này được sử dụng để đặt JSON_PRETTY_PRINT nhằm căn chỉnh các thuộc tính JSON đầu ra