I have a schema definition like that:
{
"value": number | number[]
}
So I define a C# model like:
class Example
{
public int[] Value { get; set; }
}
So I want a custom serializer that can be simplify a single element array and deserialize a single value to C# array.
Excepted test case:
var model = new Example { Value = new [] { 1 } };
var json = myCustomSerializer.Serialize(model);
Assert.Equal(json, "{\"value\":1}");
var json = "{\"value\":1}";
var model = myCustomSerializer.Deserialize<Example>(json);
Assert.SequenceEqual(model.Value, new [] { 1 });
var model = new Example { Value = new [] { 1, 2, 3 } };
var json = myCustomSerializer.Serialize(model);
Assert.Equal(json, "{\"value\":[1,2,3]}");
var json = "{\"value\":[1,2,3]}";
var model = myCustomSerializer.Deserialize<Example>(json);
Assert.SequenceEqual(model.Value, new [] { 1, 2, 3 });