簡體   English   中英

在C#上,我使用Restsharp讀取數據json客戶端。執行(請求); 為什么顯示格式XML如何顯示格式JSON

[英]ON c# I'm use Restsharp read data json client.Execute(request); why show format XML how do show format JSON

在C#上,我使用Restsharp讀取數據json client.Execute(request),為什么顯示XML格式,如何顯示JSON我的代碼如下:

var client = new RestClient("http://omnamashiva");
        var request = new RestRequest("/omnamashivaya.json", Method.GET);
        request.RequestFormat = DataFormat.Json;
        IRestResponse response = client.Execute(request);
        var content = response.Content;
        Console.WriteLine(content.ToString());

我很困惑 為什么client.Execute(request)顯示輸出格式XML。 下面這個:

    <?xml version="1.0" encoding="UTF-8" ?>
<root>
    <0>
        <id>2</id>
        <subscriberid>2</subscriberid>
        <cdate>2012-09-28 16:49:06</cdate>
        <sdate>2012-09-28 16:49:06</sdate>
        <first_name>Al</first_name>
        <last_name></last_name>
        <email>test@verizon.net</email>
    </0>
    <1>
        <id>29</id>
        <subscriberid>29</subscriberid>
        <cdate>2012-10-02 15:08:29</cdate>
        <sdate>2012-10-02 15:08:29</sdate>
        <first_name>Mark</first_name>
        <last_name></last_name>
        <email>test2@verizon.net</email>
    </1>
    <result_code>1</result_code>
    <result_message>Success: Something is returned</result_message>
    <result_output>json</result_output>
</root>

我想在下面顯示格式JSON.inthis:

{
   "0":{
      "id":"2",
      "subscriberid":"2",
      "cdate":"2012-09-28 16:49:06",
      "sdate":"2012-09-28 16:49:06",
      "first_name":"Al",
      "last_name":"",
      "email":"test@verizon.net"
   },
   "1":{
      "id":"29",
      "subscriberid":"29",
      "cdate":"2012-10-02 15:08:29",
      "sdate":"2012-10-02 15:08:29",
      "first_name":"Mark",
      "last_name":"",
      "email":"test2@verizon.net"
   },
   "result_code":1,
   "result_message":"Success: Something is returned",
   "result_output":"json"
}

妳知道嗎 如何!

該請求正確執行,但是服務器返回XML而不是JSON。 這不是客戶端錯誤。 原因很可能是服務器不知道預期響應的格式,而XML是默認格式。

這取決於服務器的設置。 也許他總是以XML返回數據。 也許,他檢查了您的“接受”標頭或其他內容。 閱讀此服務器的(' http:// omnamashiva ')文檔。 曾經,我使用API​​,必須在請求XML主體中設置預期的響應類型。 這一切都與服務器的配置有關。 如果沒有文檔,請聯系他們的技術支持。

您可以嘗試通過指定期望數據來告訴服務器期望什么,如下所示:

request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "application/json; charset=UTF-8");

但是,它可能不起作用。

暫無
暫無

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

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