在 c# 上,我使用 Restsharp 读取数据 json client.Execute(request);为什么显示格式 XML 如何显示格式 JSON
ON c# I'm use Restsharp read data json client.Execute(request); why show format XML how do show format JSON
ON 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"
}
你知道吗?如何!
请求正确执行,但 服务器 returns XML 而不是 JSON。这不是 client-side 错误。
最有可能的原因是服务器不知道预期响应的格式,并且 XML 是默认格式。
这取决于您的服务器设置。也许,他总是returns数据在XML。也许,他会检查您的 'Accept' header 或其他内容。阅读此服务器的 ('http://omnamashiva') 文档。有一次,我与 API 一起工作,我必须在请求 XML body 中设置预期的响应类型。这都是关于服务器的配置。如果您没有文档,请联系他们的技术支持。
您可以尝试通过指定预期数据来告诉服务器您的预期,就像:
request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "application/json; charset=UTF-8");
但是,它可能不起作用。
ON 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"
}
你知道吗?如何!
请求正确执行,但 服务器 returns XML 而不是 JSON。这不是 client-side 错误。 最有可能的原因是服务器不知道预期响应的格式,并且 XML 是默认格式。
这取决于您的服务器设置。也许,他总是returns数据在XML。也许,他会检查您的 'Accept' header 或其他内容。阅读此服务器的 ('http://omnamashiva') 文档。有一次,我与 API 一起工作,我必须在请求 XML body 中设置预期的响应类型。这都是关于服务器的配置。如果您没有文档,请联系他们的技术支持。
您可以尝试通过指定预期数据来告诉服务器您的预期,就像:
request.AddHeader("Accept", "application/json");
request.AddHeader("Content-Type", "application/json; charset=UTF-8");
但是,它可能不起作用。