【发布时间】:2016-10-27 04:26:41
【问题描述】:
我向 Zoho 支持端点发出 get 请求,此调用的结果可以是两种不同的结构。要么是有错误的结果。应该如下所示(如果没有搜索结果)。
{
"response": {
"uri": "/api/json/accounts/getrecordsbysearch",
"error": {
"code": 4832,
"message": "There is no data to show"
}
}
}
或者如果搜索结果有一个或多个要返回的对象。它看起来像:
{
"response": {
"result": {
"Accounts": {
"row": {
"no": "1",
"fl": [
{
"val": "ACCOUNTID",
"content": "8046200"
},
{
"val": "URI",
"content": "/support/"
},
{
"val": "IsCommented",
"content": "false"
},
{
"val": "Username",
"content": "Outdoo"
}
]
}
}
},
"uri": "/api/json/accounts/getrecordsbysearch"
}
}
什么是我解析结果的最佳方式,并执行以下操作 :
- 错误:如果是,请运行方法 A
- 如果只有一条记录返回,则运行方法 B
- 如果有多个记录,则运行方法 C。
我不太确定哪种方法是解析 json 和检查内容的最佳方法
【问题讨论】:
-
您可以创建两种 C# 类型:一种用于结果,一种用于错误。首先尝试反序列化结果。如果 reult 为 NULL ,则尝试反序列化为错误类型。不确定我是否理解正确。
-
@kat1330 :你说得对,这也正是我的想法。但是没有比创建多个类更好的方法吗