Tuần tự hóa một đối tượng thành JSON


211

Làm cách nào tôi có thể tuần tự hóa một đối tượng thành JSON trong JavaScript?

Câu trả lời:



52

Tải về https://github.com/douglascrockford/JSON-js/blob/master/json2.js, bao gồm nó và làm

var json_data = JSON.stringify(obj);

1
Tôi có thực sự cần bao gồm "json2.js" không? Nó dường như hoạt động mà không có nó.
Pavel Alexeev

32
@PavelAlexeev Không, bạn không cần phải đưa vào json2.jsnữa, trừ khi bạn đang nhắm mục tiêu các trình duyệt rất cũ: các trình duyệt hiện đại bao gồm triển khai JSONđối tượng gốc. Điều tốt json2.jslà nó sẽ chỉ khởi động nếu không tìm thấy đối tượng bản địa. Xem [ stackoverflow.com/questions/891299/ - để biết chi tiết về hỗ trợ trình duyệt.
Edurne Pascual

4

Để giữ cho nó tương thích ngược, tôi tải thư viện JSON của Crockfords từ CDN trên nền tảng đám mây nếu không có hỗ trợ JSON gốc nào được cung cấp (để đơn giản sử dụng jQuery):

function winHasJSON(){
  json_data = JSON.stringify(obj);
  // ... (do stuff with json_data)
}
if(typeof JSON === 'object' && typeof JSON.stringify === 'function'){
  winHasJSON();
} else {
  $.getScript('//cdnjs.cloudflare.com/ajax/libs/json2/20121008/json2.min.js', winHasJSON)
}
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.