JsonConvert.SerializeObject меняет значение свойства с буквы (char) на число (int).C#

Место общения программистов C#
Гость
JsonConvert.SerializeObject меняет значение свойства с буквы (char) на число (int).

Сообщение Гость »


JsonConvert.SerializeObject меняет значение свойства с букв на число. Я говорю «буквы» и «число», поскольку это динамический исходный объект, и до, и после него являются строками, но значение «D» в исходном динамическом объекте выходит как «1» после сериализации в JSON.

Исходный объект

Ответ общедоступного класса { общественные динамические DataBlocks {get; набор; } } Response.DataBlocks.dynamic.dynamic.PropertyInQuestion == "D"

Код сериализации

var сериализованныйОтвет = JsonConvert.SerializeObject(ответ); Результаты в сериализованном ответе.dynamic.dynamic.PropertyInQuestion == "1"

Результат различается в зависимости от того, какой символ находится в исходном свойстве, и он всегда одинаков;
[*]С -> 0 [*]Д -> 1 [*]Г -> 5 [*]М -> 4 [*]ПК -> 2 [*]ПД -> 3 [*]ВС -> 6
Это данные, отправляемые через SerializeObject:
public enum PropertyInQuestionType { С, Д, ПК, ПД, М, Г, ВЕЧЕРА, ПГ, У, КП, }

Вернуться в «C#»