请求json位于c#的php文件中

时间:2017-12-14 13:05:14

标签: php asp.net arrays json

有人能告诉我如何从位于另一台服务器上的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]

这样的地方使用它

1 个答案:

答案 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有一些获取它的选项