Bạn có thể chuyển đổi đối tượng JSON thành Array & String.
$data='{"resultList":[{"id":"1839","displayName":"Analytics","subLine":""},{"id":"1015","displayName":"Automation","subLine":""},{"id":"1084","displayName":"Aviation","subLine":""},{"id":"554","displayName":"Apparel","subLine":""},{"id":"875","displayName":"Aerospace","subLine":""},{"id":"1990","displayName":"Account Reconciliation","subLine":""},{"id":"3657","displayName":"Android","subLine":""},{"id":"1262","displayName":"Apache","subLine":""},{"id":"1440","displayName":"Acting","subLine":""},{"id":"710","displayName":"Aircraft","subLine":""},{"id":"12187","displayName":"AAC","subLine":""}, {"id":"20365","displayName":"AAT","subLine":""}, {"id":"7849","displayName":"AAP","subLine":""}, {"id":"20511","displayName":"AACR2","subLine":""}, {"id":"28585","displayName":"AASHTO","subLine":""}, {"id":"45191","displayName":"AAMS","subLine":""}]}';
$b=json_decode[$data];
$i=0;
while[$b->{'resultList'}[$i]]
{
print_r[$b->{'resultList'}[$i]->{'displayName'}];
echo "
";
$i++;
}
Nếu bạn đang làm việc với JSON [ký hiệu đối tượng JavaScript] và cần phải chuyển đổi chuỗi JSON thành mảng hoặc đối tượng và lặp qua nó hoặc ngược lại, hãy lấy một mảng hoặc đối tượng và chuyển đổi nó thành chuỗi JSON để trả về, cả hai có thể được thực hiện trong PHP hoặc JavaScript.
Tôi đã chia bài viết này thành ba phần:
- Làm việc với PHP
- Làm việc với JavaScript
- Làm việc với cả PHP và JavaScript
Chuyển đổi chuỗi JSON sang mảng PHP hoặc đối tượng
PHP> = 5.2.0 có hàm,
2, giải mã chuỗi JSON thành biến PHP. Theo mặc định, nó trả về một đối tượng. Tham số thứ hai chấp nhận một boolean khi được đặt là
3, hãy yêu cầu nó trả về các đối tượng dưới dạng mảng liên kết. Bạn có thể tìm hiểu thêm về chức năng
2 từ tài liệu PHP.
Vòng lặp qua mảng PHP hoặc đối tượng
Vòng lặp qua một mảng PHP hoặc đối tượng với vòng lặp
5.
Lưu ý sự khác biệt trong việc truy cập các giá trị của một mảng so với một đối tượng.
Chuyển đổi mảng PHP hoặc đối tượng thành chuỗi JSON
PHP cũng có chức năng
6 để chuyển đổi một mảng hoặc đối tượng thành một chuỗi. Đọc thêm về chức năng
6 từ tài liệu PHP.
Lưu ý rằng tôi đã sử dụng cú pháp mảng ngắn mà Lừa có trong Php 5.4+.
Chuyển đổi chuỗi JSON sang đối tượng JavaScript
JavaScript có phương thức
8 tích hợp để phân tích chuỗi JSON và trả về một đối tượng.
// Convert JSON String to JavaScript Object
var JSONString = '[{"name":"Jonathan Suh","gender":"male"},{"name":"William Philbin","gender":"male"},{"name":"Allison McKinnery","gender":"female"}]';
var JSONObject = JSON.parse[JSONString];
console.log[JSONObject]; // Dump all data of the Object in the console
alert[JSONObject[0]["name"]]; // Access Object data
8 được hỗ trợ rất tốt, nhưng có những trình duyệt không hỗ trợ nó [tức là.JQuery 1.x có phương pháp
0 sẽ điền vào các khoảng trống cho các trình duyệt đó nếu bạn cần hỗ trợ họ. Bạn cũng có thể sử dụng thư viện JSON-JS như một polyfill.
// Convert JSON String to JavaScript Object with jQuery
var JSONString = "..."; // Replace ... with your JSON String
var JSONObject = $.parseJSON[JSONString];
console.log[JSONObject]; // Dump all data of the Object in the console
alert[JSONObject[0]["name"]]; // Access Object data
Sau đó, bạn có thể lặp qua một đối tượng JavaScript bằng cách sử dụng vòng lặp
1.
// Loop through Object
var JSONObject = ...; // Replace ... with your JavaScript Object
for [var key in JSONObject] {
if [JSONObject.hasOwnProperty[key]] {
console.log[JSONObject[key]["name"] + ", " + JSONObject[key]["gender"]];
}
}
Chuyển đổi đối tượng JavaScript thành Chuỗi JSON
JavaScript có phương thức
2 để chuyển đổi giá trị thành chuỗi JSON.
var JSONObject = [
{
"name": "Jonathan Suh",
"gender": "male"
},
{
"name": "William Philbin",
"gender": "male"
},
{
"name": "Allison McKinnery",
"gender": "female"
}
];
var JSONString = JSON.stringify[JSONObject];
alert[JSONString];
Như
3,
2 không được hỗ trợ trong các trình duyệt khủng long nhưBạn có thể kết hợp các phương thức trên để tạo các triển khai mạnh mẽ, động trên trang web hoặc ứng dụng của bạn.
Hãy nói rằng bạn muốn lấy thông tin từ cơ sở dữ liệu, trả lại một cách an toàn dữ liệu dưới dạng JSON và lặp qua nó một cách linh hoạt, bạn có thể làm như vậy với một chút PHP và JavaScript với AJAX.
Động lực lấy JSON qua Ajax và Loop qua JSON
Hãy giả sử cấu trúc cơ sở dữ liệu của bạn trông giống như sau:
Table: people
┌────┬────────────────────┬─────────┐
| id | name | gender |
├────┼────────────────────┼─────────┤
| 0 | Jonathan Suh | male |
| 1 | William Philbin | male |
| 2 | Allison McKinnery | female |
| 3 | Becky Borgster | female |
| 4 | Victoria Einsteen | female |
└────┴────────────────────┴─────────┘
Và bạn muốn tự động lấy danh sách những người từ cơ sở dữ liệu dựa trên giới tính, như thế này:
Hãy để bắt đầu với tệp front-end
6 rằng sẽ có một bản thả xuống chọn với các giới tính để chọn từ, một bảng để hiển thị kết quả và tập lệnh để xử lý AJAX. JavaScript được viết bằng jQuery.
0Bây giờ, hãy để tạo ra một tệp
7 để xử lý logic back-end để lấy thông tin từ cơ sở dữ liệu và trả về kết quả dưới dạng chuỗi JSON.
1Để có được một ví dụ sâu hơn và tốt hơn về tương tác php-json-javascript/jQuery-ajax, hãy đọc cuộc gọi jQuery Ajax của tôi đến tập lệnh PHP với bài đăng trở lại của JSON.
Tôi là một nhà phát triển & thiết kế đa ngành. Tôi hiện đang ở với những người ở Trung tâm Kế hoạch, và tôi đã làm việc với các thương hiệu và cơ quan nổi tiếng, bao gồm Allstate, Brian Hoff Design, Leo Burnett và Olson. Thêm về tôi.