Comments (4)
Hi,
It does support serializing object graphs, but it doesn't preserve reference identities. So if you add a single object twice to a collection, it will be serialized twice, and when you deserialize it you'll get two distinct objects with equal properties.
from yaxlib.
Thanks.
- Does it planned to include support for preserving reference identites? As I understand its quite easy - you just need to add dictionary and add each reference object to dictionary and check if there is already such an object there.
- Also is it possible to exclude somehow from serialization properties of 3rd party type? For ex I have SharpDX.Matrix struct and I want to serialize only fields, but not properies and I cannot use attributes for that because it is not my type.
- And another question:
does your lib support ignoring values of basic type (not only null)
I mean If I have Boolean filed/property with value "false" which is default for .Net, I can omit serialization of this property because when class with it will be created, it will set it to false by defaulr. There is no need to store this info in file. The same for other basic primitive types.
Could you answer my questions please? I didnt find answers on them unfortunately.
from yaxlib.
It's not planned. It might be easy to implement, but it's not easy to represent in XML. (actually YAXLib does similar checks to prevent serializing cyclic references and preventing a loop, e.g., when you serialize a cyclic linked list).
The 2nd one is planned.
The 3rd one is not supported, but a requested feature (conditional ignore).
from yaxlib.
Why not easy? Datacontract serializaer do this with Ref="id" for example.
Also one more question: does your lib support Windows8 apps? Also didnt find any info about this/
from yaxlib.
Related Issues (20)
- Generic deserialization methods should not hide base methods with 'new', e.g. with a generic base class HOT 1
- Possible regression caused by PR #183 HOT 9
- Extend tests to cover YAXSerializer and YAXSerializer<T> HOT 2
- Extend caching and pooling for better performance HOT 10
- Split IYAXSerializer<T> to IYAXSerializer<T> and IYAXDeserializer<T> HOT 7
- Make Exception a KnownType HOT 4
- All public members of YAXSerializer (generic/non-generic) should be fully covered by unit tests HOT 1
- How serialize a list as an attribute HOT 7
- Extend SerializationContext for pre-processing in ICustomSerializer and IKnownType
- Add unit tests for YAXCollectionItemTypeAttribute and YAXElementForAttribute
- Add YAXSerializationOptions.StripInvalidXmlChars HOT 3
- Structs are not serialized correctly HOT 3
- Update docs for new v4 features
- Multiple Elements with Same Name? How to Deserialize?
- Add support for DateOnly and TimeOnly types
- Is it possible deserialize to property by attribute name and inner xml with YAXLib?
- Serializing/Deserializing ValueTuples HOT 1
- Serialize not filtering properties correctly in .NET Standard HOT 6
- Serialized strings that use the stringbuilder pool throw when the string's length is > 1024 (DefaultStringBuilderCapacity).
- Collection Deserialization with RecursiveWithNoContainingElement HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from yaxlib.