2012-09-17 32 views
11

Lớp của tôi có thuộc tính 'PropertyA', tôi muốn điều này xuất hiện dưới dạng 'PropertyB' trong đối tượng JSON khi được tuần tự hóa. Có bất kỳ loại thuộc tính nào tôi có thể sử dụng không?Thay đổi tên thuộc tính để tuần tự hóa

+3

nào serializer JSON bạn đang sử dụng? JavaScriptSerializer? JSON.NET? DataContractJsonSerializer? ...? –

+0

Bạn đang sử dụng thư viện serialization JSON nào? – AlSki

+0

Xin lỗi, tôi đã cung cấp thêm chi tiết - DataContractJsonSerializer là những gì tôi đang sử dụng. Cảm ơn. –

Trả lời

20

Chắc chắn.

Đối với Json.NETDataContractJsonSerializer sử dụng DataMemberAttribute: http://msdn.microsoft.com/en-us/library/ms574795.

Chỉ cần trang trí tài sản của bạn

[DataMember(Name="PropertyB")] 
T PropertyA { ... } 

Nếu bạn đang sử dụng JavaScriptSerializer, bạn cần phải tạo thực hiện nguồn gốc, như đã mô tả ở đây: JavaScriptSerializer.Deserialize - how to change field names

+0

Cảm ơn rất nhiều, ngay tại chỗ. –

+0

và nếu tôi không có quyền truy cập để thay đổi thuộc tính DataMenber? Tôi có thể thêm một dịch giả hoặc một cái gì đó tương tự như vậy vào thời gian tuần tự không? – rolivares

+0

http://stackoverflow.com/questions/13091862/change-the-way-json-net-serializes-property-names – Bartosz

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