所以我试图检查从api调用活动广告系列返回给我的值。 因为我正在学习C#,我不知道如何解决这个问题。
因此,我使用此代码发送api调用并将响应存储在变量中:
var contactExists = acs.SendRequest("POST", getParameters1, postParameters1);
然后我使用以下方法将响应输出到visual studio中的输出wibndow:
System.Diagnostics.Debug.WriteLine(contactExists);
这会返回:
{"result_code":1,"result_message":"Success: Something is returned","result_output":"json"}
现在在C#中,我如何检查此"result_code":1
我遇到this anwswer并检查了msdn,但这没有意义。
我也认为也许contactExists.result_code会起作用,但事实并非如此。
任何人都知道怎么做。 干杯
答案 0 :(得分:1)
我建议您使用Json.NET:
var jsonResult = acs.SendRequest("POST", getParameters1, postParameters1);
dynamic contactExists = JsonConvert.DeserializeObject(jsonResult);
所以你可以像这样轻松使用:
int result_code = contactExists.result_code;
string result_message = contactExists.result_message;
我希望对你有所帮助:)。
答案 1 :(得分:1)
您还可以使用以下代码。在这里你可以通过使用JSON.Net的JObject类来实现这一点。
var jsonResult = acs.SendRequest("POST", getParameters1, postParameters1);
JObject contactExists = JsonConvert.DeserializeObject(jsonResult);
现在要从上面的json对象访问属性,你可以这样使用: -
int result_code = Convert.ToInt32(contactExists["result_code"]);
答案 2 :(得分:0)
创建适当的通用类
public class Response<T>
{
public int result_code { get; set; }
public string result_message { get; set; }
public T result_output { get; set; }
}
最后使用JSON反序列化
var jsonResult = acs.SendRequest("POST", getParameters1, postParameters1);
var result = JsonConvert.DeserializeObject<Response<string>>(jsonResult);