2012-02-15 30 views
5

Tôi đang sử dụng phương thức đăng bài jQuery để gửi một số dữ liệu đến máy chủ. Thay vì tự xây dựng chuỗi JSON, tôi chỉ muốn sử dụng đối tượng Javascript. Khi tôi nhận được chuỗi trả về (trong JSON), tôi muốn tự động xây dựng một đối tượng javascript tương ứng. Điều này có thể không?Nối tiếp đối tượng javascript vào json và quay lại

Xin cảm ơn trước.

Trả lời

20

Thanh toán JSON.stringify()JSON.parse() trong JSON2 documentation

Ví dụ:

myData = JSON.parse(text); // from json string to js object 

var myJSONText = JSON.stringify(myObject, replacer); // js object to json string 
+0

Plugin tuyệt vời, cảm ơn! – Ipad

6

Có.

Nếu đối tượng JSON có sẵn, bạn có thể sử dụng:

var aString = JSON.stringify(anObject); 

để chuyển đổi một đối tượng vào JSON chuỗi.

Bạn cũng có thể chuyển đổi một chuỗi thành một đối tượng với

var obj = JSON.parse(aString) 

Để chắc chắn rằng JSON có sẵn, bạn có thể bao gồm tập tin https://github.com/douglascrockford/JSON-js

2

này, bạn nên sử dụng Douglas Crockford JSON2 library.

Bằng cách đó, bạn có thể:

var jsonString = JSON.stringify(obj); 

hoặc

var Obj = JSON.parse(jsonString); 
+2

Bạn vẫn có thể thực hiện điều đó trong trình duyệt hiện đại. JSON2 là một polyfill (giá trị sử dụng mặc dù) – Quentin

1

Nếu bạn sử dụng jQuery.getJSON bạn không phải quan tâm đến việc xâu chuỗi và phân tích cú pháp json, jquery sẽ làm điều đó cho bạn.

+0

Điều tốt để biết, thực sự. Tương tự nếu bạn sử dụng $ .ajax với "json" dưới dạng dataType. – CronosS

+0

@CronosS, vâng. 'getJSON' chỉ là viết tắt của $ .ajax với" json "dưới dạng dataType. –

Các vấn đề liên quan