Làm cách nào để đánh dấu các thuộc tính, chúng không nên được tuần tự hóa nếu chúng có giá trị mặc định? Ví dụ nếu tôi có giá trị boolean nó shoudl được serialized nếu chỉ được đặt thành true, cùng với giá trị nullable, nếu chúng là null tôi không muốn bao gồm chúng trong tập tin serialization của tôi.Làm thế nào để tránh các giá trị mặc định tuần tự hóa?
Trả lời
Ok tôi đã tự tìm thấy. Đó là [DefaultValue(false)]
. Nếu tôi đánh dấu một số thuộc tính với attr này thì nó sẽ được tuần tự hóa nếu khác với giá trị trong().
Cảm ơn bạn đã giải pháp! Bất kỳ ý tưởng làm thế nào để tránh rằng tôi phải đặt giá trị mặc định hai lần? '[DefaultValue (" Trạng thái ")] trạng thái chuỗi công khaiTag =" Trạng thái ";' – pfuhlert
Có những thứ như thuộc tính được chỉ định. Tôi không thể tìm thấy tài liệu msdn trên nó nhưng this article phải hữu ích. Về cơ bản bạn phải viết một cái gì đó như thế này:
//this property would not be serialized if it contains String.Empty value
public string PropertyName { get; set; }
[XmlIgnore]
public bool PropertyNameSpecified
{
get { return PropertyName != String.Empty; }
}
nhận {return PropertyName! = String.Empty; } đó là gì? u tái so sánh bool với chuỗi, và khi tôi thêm xmlIgnore nó không bao giờ xuất hiện trong tập tin tuần tự ngay cả khi tài sản này không phải là null hoặc là đúng trong trường hợp bool. – kosnkov
Tôi đã chỉnh sửa câu trả lời của mình. Hy vọng điều này cung cấp cho bạn sự hiểu biết đúng đắn về những gì đang xảy ra ở đó. –
- 1. Làm thế nào để tránh việc tuần tự hóa các giá trị null trong HashMap?
- 2. xsd.exe tạo ra các lớp không tuần tự hóa các thuộc tính giá trị mặc định
- 3. XML Tuần tự hóa các giá trị mặc định của các thuộc tính tùy chọn
- 4. JAXB Tránh lưu các giá trị mặc định
- 5. C# Làm thế nào để đặt giá trị mặc định cho các thuộc tính tự động?
- 6. Làm thế nào để tuần tự hóa/deserialize một hashmap?
- 7. Làm cách nào để bỏ qua chuỗi tuần tự hóa JavaScript mặc định cho các loại IEnumerable trong Json.Net?
- 8. Làm thế nào để nhận được giá trị từ đối tượng, với giá trị mặc định
- 9. DateTimePicker Giá trị mặc định: Cách tránh nó?
- 10. Làm thế nào để tuần tự hóa một gói?
- 11. Làm thế nào để tuần tự hóa ByteBuffer
- 12. Làm thế nào để tuần tự hóa các trường tạm thời bằng cách sử dụng jackson?
- 13. IPhone SDK - Làm thế nào để tuần tự hóa ABRecord?
- 14. Làm thế nào để tuần tự hóa các POD không đáng kể?
- 15. SingleOrDefault: Làm thế nào để thay đổi các giá trị mặc định?
- 16. Làm thế nào để chèn các giá trị mặc định trong bảng SQL?
- 17. Làm thế nào để tuần tự hóa một JObject mà không có định dạng?
- 18. Các giá trị NaN tuần tự hóa thành JSON dưới dạng null trong JSON.NET
- 19. Tuần tự hóa nhanh/giải tuần tự hóa các cấu trúc
- 20. Làm cách nào để bản địa hóa khi tuần tự hóa JSON?
- 21. RingtonePreference Giá trị mặc định
- 22. Làm thế nào để tuần tự hóa một mảng đối tượng jQuery cho JSON Post?
- 23. giá trị chung Mặc định
- 24. Làm thế nào để đọc tập tin tuần tự hadoop?
- 25. Làm thế nào để tuần tự hóa các đối tượng db.Model thành json?
- 26. Làm thế nào để tuần tự hóa các lớp mẫu có nguồn gốc với Boost.serialize?
- 27. Làm thế nào để loại trừ các trường cụ thể về tuần tự hóa với jsonpickle?
- 28. Làm thế nào để tuần tự hóa một đối tượng thành XML mà không nhận xmlns = "..."?
- 29. Làm thế nào để tuần tự hóa các nguyên mẫu Java bằng cách sử dụng Jersey REST
- 30. Làm cách nào để đặt giá trị mặc định cho danh sách các mục?
Mục đích của việc này là gì !? –
để có tập tin nhỏ hơn cos tôi cần phải gửi nó đôi khi thrue gprs mạng, nơi tôi cần phải trả tiền cho hồ sơ, anyway trong quá trình phục hồi (deserialization) họ sẽ được thiết lập giá trị mặc định nếu họ không tồn tại như vậy làm thế nào để tránh serializing chúng? – kosnkov
Tôi nghĩ bạn sẽ phải viết bộ nối tiếp của riêng bạn hoặc xử lý hậu kỳ của bộ nối tiếp tích hợp với các quy tắc của riêng bạn. –