我正在构建一个 Web API,它对 Odata 端点进行异步调用。odata 端点返回 JSON,我也尝试从 Web API 返回相同的 JSON。由于我正在异步调用 Odata 端点,因此我使用 Task 作为返回类型我的 API 方法,但我想将它们作为 JSON 返回,但我不确定如何做到这一点。下面是我的代码 public async Task<string> GetEmployee(string instance) { ..... EmployeeDTO.RootObject returnObj = new EmployeeDTO.RootObject(); var responsedata = ""; try { using (var client_Core = new HttpClient()) { .... string core_URL = BaseURL_Core+URL_instance; var response = client_Core.GetAsync(core_URL).Result; responsedata = await response.Content.ReadAsStringAsync(); } } catch (Exception ex) { throw ex; } return responsedata;目前它返回像<string xmlns="http://schemas.microsoft.com/2003/10/Serialization/"> { "@odata.context":"https://science.com/odata/$metadata#EMPLOYEE","value":[ { "Id":5000004, "Name":"Account", "Barcode":"EM1" }] } </string>我试图避免 JSON 响应周围的字符串标记。我们如何做到这一点
1 回答
慕的地6264312
TA贡献1817条经验 获得超6个赞
我希望 API 可以返回 JSON,这只是改变 Chayim 建议的 Content-Type 的问题。
但如果它只会返回 xml,你可以这样做:
...
string core_URL = BaseURL_Core+URL_instance;
var response = await client_Core.GetAsync(core_URL);
string xml = await response.Content.ReadAsStringAsync();
System.Xml.Linq.XDocument doc = System.Xml.Linq.XDocument.Parse(xml);
responsedata = doc.Root.Value;
...
- 1 回答
- 0 关注
- 154 浏览
添加回答
举报
0/150
提交
取消