DataContractJsonSerializer produces list of hashes instead of hash
Posted
by Jacques
on Stack Overflow
See other posts from Stack Overflow
or by Jacques
Published on 2010-03-26T19:59:47Z
Indexed on
2010/03/26
20:03 UTC
Read the original article
Hit count: 586
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.
© Stack Overflow or respective owner