我正在尝试将字符串传递给C#中的URL:
using (var client = new WebClient())
{
var responseStr = client.DownloadString("http://api.openweathermap.org/data/2.5 /weather?q=Groningen,nl&APPID=%207b030ffcc7338cc5f1adc4ca8e6205aa");
}
我有办法传递一个字符串变量,而不是?q =格罗宁根 所以我可以使用文本字段来获取城市的天气。
我找不到答案。
谢谢
答案 0 :(得分:2)
您可以使用字符串连接来执行此操作:
var url = "http://.....q="+city+"&.....";
var responseStr = client.DownloadString(url);
其中city
是保存您要传递的城市的变量。
答案 1 :(得分:2)
在C#中,您可以使用+
运算符来连接字符串。
所以你可以使用类似的东西,
using (var client = new WebClient())
{
var responseStr = client.DownloadString("http://api.openweathermap.org/data/2.5 /weather?q="+CHOICE+",nl&APPID=%207b030ffcc7338cc5f1adc4ca8e6205aa");
}
CHOICE 是您所需位置的变量。
有关连接的更多内容:here
答案 2 :(得分:0)
Webclient client = new Webclient();
string city = "Lahore";
string appId = "123456789";
string url = "http://api.openweathermap.org/data/2.5/weather?APPID="+appId+"&q="+city+"";
var json = client.DownloadString(json);
现在根据您的要求反序列化josn响应。
使用以下任何方式
- JavaScriptSerializer
- JSON.Net library
- DataContractJsonSerializer
醇>