Я решил это с помощью DictionaryEntry
Единственное отличие состоит в том, что Key также является Object.
В основном у меня есть статические методы Dictionary ToDictionary(DictionaryEntry[] entries)
и DictionaryEntry[] FromDictionary(Dictionary entries)
, которые очень легки и в итоге приводят меня в одно и то же место без необходимости создавать собственный класс коллекции.
Дополнительным преимуществом является то, что полученный в результате XML ближе к тому, в котором веб-службы WCF используют по умолчанию! Это означает, что вы можете сделать это изменение в своем клиентском коде и быть готовым к WCF, если вы решите пойти этим путем.
Результат выглядит так в JSON [{"Key": key1, "Value": value1}, {"Key": key2, "Value": value2}]
точно так же, как в WCF по умолчанию.