DataContractJsonSerializer produces list of hashes instead of hash
- by Jacques
I would expect a Dictionary object of the form:
Dictionary<string,string> dict = new Dictionary<string,string>() {["blah", "bob"], ["blahagain", "bob"]};
to serialize into JSON in the form of:
{ "blah": "bob", "blahagain": "bob" }
NOT
[ { "key": "blah", "value": "bob" }, { "key": "blahagain", "value": "bob"}]
What is the reason for what appears to be a monstrosity of a generic attempt at serializing collections?
The DataContractJsonSerializer uses the ISerializable interface to produce this thing. It seems to me as though somebody has taken the XML output from ISerializable and mangled this thing out of it.
Is there a way to override the default serialization used by .Net here? Could I just derive from Dictionary and override the Serialization methods?
Posting to hear of any caveats or suggestions people might have.