Vibe.d - Custom serialization policy

Sönke Ludwig sludwig+d at outerproduct.org
Wed Jun 26 21:07:34 UTC 2019


Am 26.06.2019 um 21:06 schrieb Flying-Toast:
> On Wednesday, 26 June 2019 at 18:54:05 UTC, Flying-Toast wrote:
>> I am using vibe.d's serialization feature for a few classes.
>>
>> I have found that immutable/const fields are not serialized, though it 
>> turns out this is intentional [1].
>>
>> In the GitHub issue [1], Sönke mentioned that a solution to this would 
>> be to use a custom `Policy`. I tried to find documentation on vibe's 
>> serialization policies, but I couldn't find any.
>>
>> Could anyone point me to some documentation for serialization 
>> policies, or explain how to create a policy that allows serializing 
>> immutable fields (and how to use it with the Json serializer)?
>>
>> [1](https://github.com/vibe-d/vibe.d/issues/1536)
>>
>> Thanks!
> 

There is an example that applies a custom policy to any struct that has 
"x"/"y" fields: 
http://vibed.org/api/vibe.data.serialization/serializeWithPolicy

When working with multiple policies, ChainedPolicy is also handy: 
http://vibed.org/api/vibe.data.serialization/ChainedPolicy

> Also, how do I make the serializer ignore a single field?

If no policy is used to serialize the particular type, the `@ignore` 
attribute can be applied to the field: 
http://vibed.org/api/vibe.data.serialization/ignore


More information about the Digitalmars-d mailing list