У меня есть json, который генерируется во время выполнения с x количеством свойств, и по этой причине я не могу использовать POCO для его десериализации, например.
"{"UserId": 1234,"Name": "Adnan","Age": 30, "Salary": 3500.65}"
Лучший вариант для меня - десериализовать его в Dictionary<string,object>
Я использую ServiceStack JsonSerializer
для десериализации json в Dictionary<string,object>
, который отлично работает, но когда я пытаюсь получить типы объектов в словаре, они соответственно не совпадают.
Я пробовал следующее:
Если я не использую следующие параметры, все значения объекта словаря выводятся как strings
JsConfig.ConvertObjectTypesIntoStringDictionary = true;
JsConfig.TryToParsePrimitiveTypeValues = true;
Когда я использую вышеуказанные параметры, все значения Int64
и Double
выводятся как значения Decimal
.
Есть ли возможность изменить это, чтобы примитивные значения выводились как Int64
или Double
вместо Decimal
Ps: у меня нет требования, чтобы он был точного типа, то есть Int32
, если он попадает под эту скобку.
Я пытался использовать Json.Net, и он отлично работает, а значения объектов выводятся как Int64
и Double
, но, поскольку я использую ServiceStack JsonSerializer
в своем проекте, было бы неплохо узнать, как этого можно достичь с помощью этого.