有人能告诉我如何从位于另一台服务器上的php文件请求json将它提供给我们的asp.net吗?
它包含我们想要再次使用的~10个变量。
我不想只是一个字符串,而是一个数组。 所以这不会起作用:
//We don't actually use the given url of course
string url = "url";
var json = new WebClient().DownloadString(url);
Response.Write(json);
我想在像jsonname [2]
这样的地方使用它答案 0 :(得分:1)
从你的php页面输出一个JSON数组,如下所示
$myArr = array("John", "Mary", "Peter", "Sally");
$myJSON = json_encode($myArr);
header('Content-Type: application/json');
echo $myJSON;
在c#代码中,您需要将DownloadString返回的字符串反序列化为与JSON数据格式匹配的类型。如果您的JSON只是一个字符串数组,那么请使用Newtonsoft.Json包中的JsonConvert.DeserializeObject<List<string>>(json)
。否则,您需要将List替换为与Json数据匹配的内容,例如具有所有相同属性名称和类型的新类。在这种情况下
string url = "url";
var json = new WebClient().DownloadString(url);
Response.Write(json);
var myArr = JsonConvert.DeserializeObject<List<string>>(json);
Response.Write(myArr[1]); // will output "Mary"
如果您没有Newtonsoft.Json,this question有一些获取它的选项