从对 Odata 端点进行异步调用的 Web API 返回 JSON

我正在构建一个 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 响应周围的字符串标记。我们如何做到这一点

http://img1.mukewang.com/61ac756f0001ef2e09850293.jpg

慕姐8265434
浏览 155回答 1
1回答

慕的地6264312

我希望 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;...
打开App,查看更多内容
随时随地看视频慕课网APP