Это может быть бесполезно для вас, но у меня было похожее требование, но я использовал SerializableDynamicObject
Я изменил имя словаря на «Поля», а затем сериализовал сJson.Net для создания json, который выглядит следующим образом:
{"Fields":{"Property1":"Value1", "Property2":"Value2" etc.
, где Property1 и Property2 - это динамически добавленные свойства - т.е. словарные ключи
. Было бы идеально, если бы я мог избавиться от лишних ".Свойство Fields ", которое инкапсулирует остальные, но я обошел это ограничение.