簡體   English   中英

將Json從HttpResponseMessage轉換為字符串

[英]Convert Json from HttpResponseMessage to string

我有這樣的代碼:

 private void button1_Click(object sender, EventArgs e)
    {
        HttpClient client = new HttpClient();
        client.BaseAddress = new Uri("http://localhost:8080/");
        client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
        HttpResponseMessage response = client.GetAsync("api/values/1").Result;
        if (response.IsSuccessStatusCode)
        {
            var Samochod = response.Content.ReadAsAsync<Samochod>().Result;
            MessageBox.Show("Car ID: " + Samochod.CarID + ", Car Brand: " + Samochod.Marka);
        }
        else
        {
            MessageBox.Show("False");
        }
    }

但我收到錯誤消息

var Samochod = response.Content.ReadAsAsync<Samochod>().Result;

我可以將Json對象從HttpResponseMessage響應轉換為字符串嗎? 我正在嘗試做:

string value = response.ToString();

但這是胡扯。 我必須知道我從Web API接收到的Json文件中包含什么。 之后,我將知道如何解決錯誤。

編輯:

問題是,當我將“ localhost:8080 / api / values / 1”直接放入瀏覽器時,輸出為:

{"CarID":1,"Marka":"Daewoo","Model":"Lanos","Kolor":"Zielony"`

,但是當我通過Win Form應用程序執行此操作時,我收到了:

\"{\"CarID\":1,\"Marka\":\"Daewoo\",\"Model\":\"Lanos\",\"Kolor\":\"Zielony\"}\" 

錯誤:“ mscorlib.dll中發生類型'System.AggregateException'的第一次機會異常。並且在視圖詳細信息中存在內部異常:

{"Error converting value \"{\"CarID\":1,\"Marka\":\"Daewoo\",\"Model\":\"Lanos\",\"Kolor\":\"Zielony\"}\" to type 'WebAPIwinForms.Samochod'. Path '', line 1, position 78."}

您應該使用ReadAsStringAsync()方法轉換字符串,然后反序列化為您的對象,例如:

var Samochod = response.Content.ReadAsStringAsync();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM