2012-12-22 37 views
16

tôi có một biến json như thế nàycách thêm chìa khóa và một giá trị cho một json sử dụng javascript hoặc jquery

var jsondata={"all":"true"} 

tôi muốn đẩy một chìa khóa và giá trị so với jsondata. sau đó jsondata của tôi phải như thế này.

{"all":"true","FDamount":"false","DDamount":"true"} 

cách thực hiện điều đó ??? tôi đã thử jsondata.push ({"FDamount": "false"}) và jsondata.push ("FDamount: false"). cả hai phương pháp này đều không hoạt động.

cảm ơn bạn

+1

Bạn dường như không sử dụng JSON ở đâu không? Đó chỉ là các đối tượng đơn giản (và không có mảng, btw) – Bergi

Trả lời

19

Như thế này

jsondata.FDamount = 'false'; 
// or 
jsondata['FDamount'] = 'false'; 
7

Đơn giản chỉ cần làm điều này:

jsondata['FDamount'] = 'false'; 
jsondata['DDamount'] = 'true'; 

Hoặc này:

jsondata.FDamount = 'false'; 
jsondata.DDamount = 'true'; 

Bằng cách này, bạn xác định boolean như chuỗi, cách chính xác nên là:

jsondata['FDamount'] = false; 
jsondata['DDamount'] = true; 

Để đẩy thêm một chút, bạn có thể sử dụng jQuery.extend để mở rộng var gốc, như thế này:

jQuery.extend(jsondata, {'FDamount': 'false', 'DDamount': 'true'}); 
// Now, jsondata will be : 
{"all":"true","FDamount":"false","DDamount":"true"} 

jQuery.extend có sẵn khi sử dụng jQuery (tất nhiên), nhưng tôi chắc chắn rằng bạn có thể tìm thấy phương pháp tương tự trong khác thư viện/khung công tác.

(Tôi đang sử dụng dấu nháy đơn, nhưng dấu ngoặc kép làm việc quá)

+0

Làm thế nào tôi có thể làm điều đó cho mỗi phần tử? Tôi cần thêm khóa và giá trị mới cho mỗi phần tử. –

+0

Bạn có ý nghĩa gì với "mỗi phần tử"? –

+0

"Mỗi phần tử" là mỗi mục khi phân tích cú pháp đối tượng mà dữ liệu Json của bạn có thể xem các mục. Tôi muốn thêm một khóa có giá trị cho mỗi mục trong cấu trúc Json của bạn. –

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