我正在使用返回JSON数据的第三方API。然后我将其反序列化为包含多个对象的C#类。
问题是我有时会收到错误解释:
无法将当前JSON数组(例如[1,2,3])反序列化为(我的对象类型)
那:
JsonArrayAttribute也可以添加到类型中以强制它从JSON数组反序列化
所以,我用[JsonArray]属性
装饰对象然而,我接到一条错误消息解释:
无法将当前JSON对象(例如{\“name \”:\“value \”})反序列化为(我的对象类型)
那:
JsonObjectAttribute也可以添加到类型中以强制它从JSON对象反序列化
似乎有时API会返回JSON数组对象,有时却不会。
问题是我如何定义/装饰我的对象或定义类是否足够灵活以处理?这可能吗?
这是生成“无法反序列化当前JSON数组”错误的数据:
"account_id": "0",
"account": [],
...
这是生成“对象”错误的数据(当我将其装饰为[JsonArray]时):
"account_id": "3776",
"account": {
"id": 3776,
"name": "VISA Debit APP",
...
},
...
显然,我希望将其反序列化为C#类,以便以结构化类型安全的方式处理数据。我无法控制这些数据的结构,所以我不得不处理这个问题。
非常感谢任何见解。