Как можно установить для параметра «Сериализация значений по умолчанию» значение «Да» при десериализации? - PullRequest
0 голосов
/ 16 февраля 2020

У меня есть следующее, но в строке json есть некоторый пустой массив, который не возвращается как пустой. Как я могу установить значение этого параметра для возврата независимо?

vat det =   JsonConvert.DeserializeObject<RootObject>(json, "does option setting go here")  

1 Ответ

0 голосов
/ 16 февраля 2020

Существует нечто, называемое классом JsonSerializerSettings, в котором могут быть установлены такие настройки. Затем эти параметры можно передать с помощью DeserializeObject после строки json. Параметр, который вы ищете, называется DefaultValueHandling, это будет перечислитель в настройках с несколькими настройками. Чтобы увидеть, что возможно с этими настройками, посмотрите их documentat ie.

Ваш код будет выглядеть примерно так:

        var result = JsonConvert.DeserializeObject<RootObject>("json string", new JsonSerializerSettings
        {
            DefaultValueHandling = DefaultValueHandling.Ignore
        });
...