Невозможно десериализовать динамический список, содержащий логическое свойство, обратно в логическое.
У меня есть следующий json.Newtonsoft Json deserialize to dynamic list with boolean свойство превращается в строку
[
{
"Field1": 1,
"Field2": "Test 1",
"Field3": true
},
{
"Field1": 2,
"Field2": "Test 2",
"Field3": false
}
]
Когда я использую:
Newtonsoft.Json.JsonConvert.DeserializeObject<List<dynamic>>(jsonString)
Я получаю Field3 = «True» или «False»
При привязке к сетке или другой элемент управления, он считает, что это «строка» и не «булево».
Любые предложения?
Скорее всего, цифры тоже строки, только вы не видите этого в своем выходе. Было бы разумно, что если вы не расскажете JSON.NET о том, какие свойства должны быть, не давая ему модель, это будет думать, что вам все равно. – krillgar
Я только что проверил быстрый тест только с десериализацией, и я думаю, что проблема, которую вы цитируете, связана с этапом привязки, а не с шагом десериализации. Захватите вывод из DeserializeObject и проверьте его. Это булевский тип. Я думаю, что значение будет принудительно введено в строку позже. – dviljoen
Возможно, вы правы, но когда я привязываю его к сетке, он думает, что это строка, но если я изменю на , он думает, что это логическое значение. Я 99.99% уверен, что это я делаю что-то неправильное. ;) –
goroth