Cách Parse Chuỗi JSON trong JavaScript
Giả sử trong code chúng ta có một biến blogInfo nhận giá trị là một chuỗi đươc định dạng theo format JSON như sau: var blogInfo = '{"ssl": true, "domain": "codehub.vn", "subdomain": "www"}'; Bài toàn đặt ra ở đây là làm sao parse chuỗi trên ngược lại về JavaScript object tương ứng để sử dụng? ...
Giả sử trong code chúng ta có một biến blogInfo nhận giá trị là một chuỗi đươc định dạng theo format JSON như sau:
var blogInfo = '{"ssl": true, "domain": "codehub.vn", "subdomain": "www"}';
Bài toàn đặt ra ở đây là làm sao parse chuỗi trên ngược lại về JavaScript object tương ứng để sử dụng? Trong bài viết này chúng ta sẽ tìm hiểu hai cách khác nhau để thực hiện việc parse chuỗi JSON về JavaScript object.
Parse Chuỗi JSON Sử Dụng JavaScript
var blogInfo = '{"ssl": true, "domain": "codehub.vn", "subdomain": "www"}'; var blogInfoObject = JSON.parse(blogInfo);
Lúc này biến blogInfoObject sẽ là một đối tượng JavaScript tương ứng với chuỗi JSON trên:
console.log(blogInfoObject); // Hiển thị: {ssl: true, domain: "codehub.vn", subdomain: "www"} console.log(blogInfoObject.ssl); // Hiển thị: true typeof blogInfoObject; // Hiển thị: "object"
Bạn có thể tham khảo kết quả chạy câu lệnh trên công cụ developer tools của Chrome như hình sau:
.
Parse Chuỗi JSON Sử Dụng jQuery
Mặc dù việc parse chuỗi JSON về dạng JSON object hoàn toàn có thể thực hiện được với JavaScript thuần, tuy nhiên jQuery cũng hỗ trợ phương thức .parseJSON() để thực hiện tác vụ này:
var blogInfo = '{"ssl": true, "domain": "codehub.vn", "subdomain": "www"}'; var blogInfoObject = jQuery.parseJSON(blogInfo); console.log(blogInfoObject); // Hiển thị: {ssl: true, domain: "codehub.vn", subdomain: "www"} console.log(blogInfoObject.ssl); // Hiển thị: true typeof blogInfoObject; // Hiển thị: "object"
Kết quả hiển thị của đoạn code trên khi chạy trên web developer tools của Chrome:
Lưu ý: Như đã đề cập ở trên, do chúng ta có thể sử dụng JavaScrip thuần để thực hiện việc parse chuỗi JSON nên các phiên bản jQuery 3.x khuyến cáo lập trình viên nên sử dụng JSON.parse() trong JavaScript thay vì jQuery.parseJSON().