我正在使用此调用从 JSON 中读取对象列表:
Rootobject userInfo = JsonConvert.DeserializeObject<Rootobject>(File.ReadAllText(strFileName));
Run Code Online (Sandbox Code Playgroud)
但我得到了一个例外Cannot deserialize the current JSON array。如果类对象之一中的数组之一为空。只要有数据,一切正常。
下面是一个 JSON 的例子,它导致了反序列化器:
这是 Venue 对象的正常数据类型:
"venue": {
"venue_id": 696895,
"venue_name": "Blackfinn Ameripub",
"venue_slug": "blackfinn-ameripub",
"primary_category": "Food",
"parent_category_id": "4d4b7105d754a06374d81259",
"categories": {
"count": 1,
"items": [
{
"category_name": "American Restaurant",
"category_id": "4bf58dd8d48988d14e941735",
"is_primary": true
}
]
},
"is_verified": false
},
Run Code Online (Sandbox Code Playgroud)
这是导致异常的原因,一个空数组:
"venue": [
],
Run Code Online (Sandbox Code Playgroud)
我已经使用了试图JsonSerializerSettings选择,包括DefaultValueHandling,NullValueHandling和MissingMemberHandling,但他们都不来防止错误。
知道如何反序列化 JSON 并忽略数据中的任何空数组吗?我希望它可以处理任何空数组,而不仅仅是上面的 object 示例Venue。
发现新问题 - 03/17/2018 <<
嗨,下面的转换器一直工作得很好,但是我从我的 json …
json.net ×1