Get JSON response using RestSharp

后端 未结 4 1455
长发绾君心
长发绾君心 2021-01-08 00:40

I\'m new to C# and I\'m trying to get the JSON response from a REST request using RestSharp; The request I want to execute is the following one : \"http://myurl.com/ap

相关标签:
4条回答
  • 2021-01-08 00:51

    This is old but I was just struggling with this too. This is the easiest way I found.

    var client = new RestClient("http://myurl.com/api/");
    var request = new RestRequest("getCatalog?token=saga001"); 
    var response = client.Execute(request);
    
    if (response.StatusCode == HttpStatusCode.OK)
    {
        // Two ways to get the result:
        string rawResponse = response.Content;
        MyClass myClass = new JsonDeserializer().Deserialize<MyClass>(response);
    }
    
    0 讨论(0)
  • 2021-01-08 00:53

    If you want to save the result into JSON file: You should use these namespaces:

    using RestSharp;

    using Newtonsoft.Json;

    using Newtonsoft.Json.Linq;

    var client = new RestClient("http://myurl.com/api/");
    var request = new RestRequest(Method.GET);
    request.AddHeader("content-type", "application/json");
    var queryResult = client.Execute<Object>(request).Data;
    string json = JsonConvert.SerializeObject(queryResult);
    System.IO.File.WriteAllText(@"C:\...\path.json", json);
    
    0 讨论(0)
  • 2021-01-08 01:06

    Try:

    var client = new RestClient("http://myurl.com/api/");
    
    var request = new RestRequest("getCatalog?token={token}", Method.GET); 
    
    request.AddParameter("token", "saga001", ParameterType.UrlSegment);   
    
    // request.AddUrlSegment("token", "saga001"); 
    
    request.OnBeforeDeserialization = resp => { resp.ContentType = "application/json"; };
    
    var queryResult = client.Execute(request);
    
    Console.WriteLine(queryResult.Content);
    
    0 讨论(0)
  • 2021-01-08 01:07

    Try as below:

    var client = new RestClient("http://myurl.com/api/");
    
    client.ClearHandlers();
    var jsonDeserializer = new JsonDeserializer();
    client.AddHandler("application/json", jsonDeserializer);
    
    var request = new RestRequest("getCatalog?token=saga001"); 
    
    var queryResult = client.Execute(request);
    
    Console.WriteLine(queryResult);
    
    0 讨论(0)
提交回复
热议问题