当api返回值时,为什么我的JSON解析为null?

时间:2016-11-21 11:23:03

标签: c# asp.net json

我正在尝试使用http://api.postcodes.io/postcodes/ JSON响应来获取邮政编码的经度和纬度。

如果我浏览到那个api +一个英国邮政编码,它会返回一个JSON字符串。但是,当我尝试这样做并使用JSON.NET C#以编程方式解析它时,我得到一个null,我不知道为什么因为它似乎我遵循了我在本网站其他地方看到的建议。

这是我的代码

string pCode = "postcode" //user entered value
            string longitude;
            string latitude;

            using (WebClient wc = new WebClient())
            {
                var json = wc.DownloadString("http://api.postcodes.io/postcodes/" +pCode);

                dynamic data = JObject.Parse(json);

                longitude = data.longitude;
                latitude = data.latitude;
            }

但经度和纬度返回null。

1 个答案:

答案 0 :(得分:1)

从服务响应来看,该信息包含在结果对象中:

http://api.postcodes.io/postcodes/W4%201TH

要获得值,请尝试以下内容:

...
longitude = data.result.longitude;
latitude = data.result.latitude;
...