似乎无法将包含布尔属性的动态列表反序列化为布尔值.
我有以下json.
[
{
"Field1": 1,
"Field2": "Test 1",
"Field3": true
},
{
"Field1": 2,
"Field2": "Test 2",
"Field3": false
}
]
Run Code Online (Sandbox Code Playgroud)
我用的时候:
Newtonsoft.Json.JsonConvert.DeserializeObject<List<dynamic>>(jsonString)
Run Code Online (Sandbox Code Playgroud)
我得到Field3 ="True"或"False"
当绑定到网格或其他控件时,它认为这是一个"字符串"而不是"布尔".
有什么建议?
因此,我尝试安装 LinqPad 并找出为什么它可以在vendettamit中工作,但在我的 C# 应用程序中却不起作用。
这让我看到了这篇关于如何在 LinqPad 中转储 Newtonsoft JObject 的文章。
然后我注意到rdavisau使用了以下代码。
JsonConvert.DeserializeObject<ExpandoObject>(jsonString)
Run Code Online (Sandbox Code Playgroud)
但我正在使用以下代码。
JsonConvert.DeserializeObject<List<dynamic>>(jsonString)
Run Code Online (Sandbox Code Playgroud)
因此,一旦我将代码更改为以下内容。一切正常。
JsonConvert.DeserializeObject<List<ExpandoObject>>(jsonString)
Run Code Online (Sandbox Code Playgroud)
ExpandoObject 是我所缺少的部分。
| 归档时间: |
|
| 查看次数: |
6156 次 |
| 最近记录: |