我正在解析 JSON 文本。有时我得到Array
,有时Object
输入文本。我试图检查类型如下:
dynamic obj = JsonConvert.DeserializeObject(text); //json text
if (obj is Array)
{
Console.WriteLine("ARRAY!");
}
else if (obj is Object)
{
Console.WriteLine("OBJECT!");
}
我在调试时检查了类型。obj
具有解析对象和解析数组时的Type
属性。然而,控制台输出适用于这两种情况。显然我以错误的方式检查类型。检查类型的正确方法是什么?Object
Array
OBJECT!
编辑
JSON内容:
[ {"ticket":"asd", ...}, {..} ]
或者{ "ASD":{...}, "SDF":{...} }
在这两种情况下,我得到的输出都是OBJECT!
.
编辑#2
我按照@Houssem 的建议更改了类型检查顺序。还是一样的输出。因此,我也更改了 OP。我的代码现在是这样的,我仍然得到相同的结果。