我向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"
}
}
解析结果的最佳方法是什么,并执行以下操作 :
我不太确定哪种方法是解析json和检查内容的最佳方法
答案 0 :(得分:1)
如果您创建类似下面的类结构(结构类和下面的类被删除以使此示例更短),json字符串总是被反序列化,然后您可以检查错误类是否有值。 / p>
public class Error
{
public int code { get; set; }
public string message { get; set; }
}
public class Response
{
public Result result { get; set; }
public string uri { get; set; }
public Error error { get; set; }
}
public class RootObject
{
public Response response { get; set; }
}
反序列化:
var o = new JavaScriptSerializer().Deserialize<RootObject>(json);