c#从url获取JSON文件

c#从url获取JSON文件,c#,json,C#,Json,几天来,我一直在试图找到一种获取JSON文件的方法 当你访问上面的url时,你会看到一个页面上有一个产品。此页面加载到JSON文件,其中包含所有产品信息 我想在C#程序中输入第一个URL时获取此文件,以便提取数据,但我不知道如何获取此文件 这就是我取得的成绩: static void Main(string[] args) { GetRequest("https://www.ah.nl/producten/product/wi224735"); C

几天来,我一直在试图找到一种获取JSON文件的方法

当你访问上面的url时,你会看到一个页面上有一个产品。此页面加载到JSON文件,其中包含所有产品信息

我想在C#程序中输入第一个URL时获取此文件,以便提取数据,但我不知道如何获取此文件

这就是我取得的成绩:

    static void Main(string[] args)
    {
        GetRequest("https://www.ah.nl/producten/product/wi224735");
        Console.ReadKey();
    }



    async static void GetRequest(string url)
    {
        using (HttpClient client = new HttpClient())
        {
            using (HttpResponseMessage response = await client.GetAsync(url))
            {
                using (HttpContent content = response.Content)
                {
                    string mycontent = await content.ReadAsStringAsync();
                    //HttpContentHeaders headers = content.Headers;
                    Console.WriteLine(mycontent);
                }
            }
        }
    }
但是这个控制台应用程序读取头文件或HTML,而不是JSON文件

路上有人能帮我吗?

试试这个

string responseString = string.Empty;
using (var webClient = new WebClient())
{
    responseString = webClient.DownloadString("https://www.ah.nl/service/rest/delegate?url=%2Fproducten%2Fproduct%2Fwi224735%2Fdoritos-nacho-cheese&_=1513938720642");
}

您可以使用下面的代码从url内容获取文件-

String url="https://www.ah.nl/service/rest/delegate?url=%2Fproducten%2Fproduct%2Fwi224735%2Fdoritos-nacho-cheese&_=1513938720642";
System.Net.WebClient client=new System.Net.WebClient();
String json = client.DownloadString(url);
System.IO.File.WriteAllText("fileName.json",json);
Console.WriteLine(json);
这是一个工作代码-


类似的东西应该适合您:

//initial URL
var urlStr = @"https://www.ah.nl/producten/product/wi224735/doritos-nacho-cheese";
//The endpoint to get JSON
var delegateEndpoint = @"https://www.ah.nl/service/rest/delegate";

var urlParam = new Uri(urlStr).PathAndQuery;

var address =
    $"{delegateEndpoint}?url={Uri.EscapeDataString(urlParam)}";
string json;
using (WebClient client = new WebClient())
{
    json = client.DownloadString(address).Dump();
}
(B)URL包含最后一个参数。您可以从Cookies获取的最后一个参数:
因此,您可以尝试使用HttlClient()发出此请求,以提出一个主题问题,请阅读并了解如何创建一个几乎听起来像有人想观察竞争对手的价格或不知道我的问题有什么问题RiggsFolly。目前我几乎不知道该往哪个方向想。我现在正在看HttpClient(我想我可以看到这段代码的小小平静)。我希望这里有人能在路上帮我。不要求代码行为我做任何事情。@伯纳德·范德·贝肯。我可以告诉你不是。这是一个我和我的朋友一起制作购物清单的应用程序,它将节省并计算每个人必须支付的金额,以便在月底我们可以让每个人支付。如果你想知道更多关于它我你可以PM我:)谢谢你的代码,但这不是我要找的。我知道了如何读取JSON文件(使用newtonsoft.com atm)。但是问题是当我只有这个()URL时如何获取JSON文件谢谢你的回复!我没有找到那个id,谢谢你指出,但它看起来和最后的(B)url参数不一样。嗯,很有趣。这个数字不一样,但看起来它仍然在工作。基本上,cookies中的id是由2个部分除以“.”组合而成的。所以,如果需要,你甚至可以解析它Hanks Andrew!这几乎是解决办法。我只需要url中的最后一个数字,但安德烈指出我可以在cookie中使用ID。希望我能把这些结合起来,得到正确的url。最后一个数字并不重要,你会得到同样的回复。