How Different C# Data Structures Serialize to Json
My latest project is a Json Serializer/Deserializer (Ferris.Json).
What does a Dictionary
, LinkedList
or SortedSet
look like when serialized to Json?
I didn’t really know, but explored how existing libraries serialized the following data structures.
TLDR - The List
Every data structure I tested falls into one of two groups:
["one","two","three"]
- The following datastructures all serialize to the above.
List<string>
HashSet<string>
Queue<string>
Stack<string>
LinkedList<string>
SortedSet<string>
{"one":1,"two":2,"three":3}
- The following datastructures all serialize to the above.
Dictionary<string, int>
SortedDictionary<string, int>
SortedList<string, int>
Both Newtonsoft and System.Text.Json follow the above conventions. So I will be doing the same.