【发布时间】:2016-12-27 11:51:54
【问题描述】:
我正在尝试使用返回的JSON 中的Key 检索Value。
我尝试了以下方法,但都没有成功。
1.)
string email= json.emailAddress;
2.)
string email= json["emailAddress"].ToString();
完整代码
var api= new Uri("https://api.linkedin.com/v1/people/~:(picture-url)?format=json");
using (var webClient = new WebClient())
{
webClient.Headers.Add(HttpRequestHeader.Authorization, "Bearer " + token);
webClient.Headers.Add("x-li-format", "json");
dynamic json = webClient.DownloadString(api);
}
JSON 返回
{
"emailAddress": "xxxx@xx.com",
"firstName": "xxx",
"formattedName": "xxxx xxxx",
"id": "xxxxxx",
"lastName": "xxxxxx",
}
【问题讨论】:
-
有些时候
dynamic很好用,但是当您知道方法的返回类型时,您应该声明该类型的变量,即string json = webClient.DownloadString(api);。使用dynamic不会给你的变量带来神奇的属性——如果它是string,它仍然是string和dynamic。