Patrick
Patrick

Reputation: 11

C#- http client response help request

I have the following code:

static async Task checkIMEI( double IMEI)
    {
        
        var client = new HttpClient();
        var request = new HttpRequestMessage
        {
            Method = HttpMethod.Get,
            RequestUri = new Uri("https://kelpom-imei-checker1.p.rapidapi.com/api?service=model&imei=" + IMEI.ToString() ),
            Headers =
                {
                    { "X-RapidAPI-Host", "kelpom-imei-checker1.p.rapidapi.com" },
                    { "X-RapidAPI-Key", "key" },
                 }
        };
        using (var response = await client.SendAsync(request))
        {
            response.EnsureSuccessStatusCode();
            object result = await response.Content.ReadAsStringAsync();
                         

                                             
            MessageBox.Show("\n" + result);
            
        }
    }

Running this code I get the following response

I would like to further break up this response and the individual data and assign it to a variable such as

string ModelNum= model_nb >> should show "SM-G891A"

String Brand = brand >> should show "Samsung Korea"

Your help would be appriciated.

Upvotes: 1

Views: 70

Answers (1)

Abolfazl Moslemian
Abolfazl Moslemian

Reputation: 173

first your Client is bad practice use this link HttpClientFactory Microsoft docs to refactor your client.

Then Create Class for your needed model for ex:

public class Mobile
{
    public string ModelNum { get; set; }

    public string Brand { get; set; }
 }

then you should deserialize your result to your model:

 var result = await response.Content.ReadAsStringAsync();

 var model = JsonSerializer.Deserialize<Mobile>(result);

Upvotes: 2

Related Questions