【发布时间】:2016-09-13 10:43:39
【问题描述】:
我通过调用外部 API 获得 JSON 结果。
HttpClient client = new HttpClient();
client.BaseAddress = new Uri(url);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
HttpResponseMessage response = client.GetAsync(url).Result;
if (response.IsSuccessStatusCode)
{
var result = response.Content.ReadAsStringAsync().Result;
var s = Newtonsoft.Json.JsonConvert.DeserializeObject(result);
return "Success";
}
else
{
return "Fail";
}
我得到的var s = Newtonsoft.Json.JsonConvert.DeserializeObject(result); 行中的结果是这样的:
{{
"query": "1",
"topScoringIntent": {
"intent": "1",
"score": 0.9978111,
"actions": [
{
"triggered": false,
"name": "1",
"parameters": []
}
]
},
"entities": [],
"dialog": {
"prompt": "1",
"parameterName": "1",
"parameterType": "1::1",
"contextId": "11",
"status": "1"
}
}}
我正在使用HttpClient。我在访问prompt 键值时遇到了困难。我想从dialog 得到prompt。我怎样才能得到它?
【问题讨论】:
-
请注意,您不应该在 client.GetAsync 上执行 .Result,因为这会阻塞线程。
-
OP 可能不在线程应用程序上下文中。
标签: c# json json.net httpclient