使用Restsharp读取数据json client.Execute(request);为什么显示XML格式如何显示JS

本文关键字:显示 格式 XML Restsharp 何显示 JS 为什么 client json Execute 读取 | 更新日期: 2023-09-27 17:52:42

在c#上我使用Restsharp读取数据json client.Execute(请求),为什么显示格式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(请求)显示输出格式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"
}

你知道吗?如何!

使用Restsharp读取数据json client.Execute(request);为什么显示XML格式如何显示JS

请求正确执行,但服务器返回XML而不是JSON。这不是客户端错误。最有可能的原因是服务器不知道预期响应的格式,而XML是默认的。

这取决于服务器的设置。也许,总是返回XML格式的数据。也许,他会检查你的" Accept "头或其他东西。请阅读此服务器的('http://omnamashiva')文档。有一次,我使用的API必须在请求XML体中设置预期的响应类型。这都是关于服务器的配置。如果没有相关文档,请联系他们的技术支持。

您可以尝试通过指定期望的数据来告诉服务器您所期望的内容,就像:

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