HttpClient ReadAsStringAsync舍入十进制

时间:2019-04-26 11:31:53

标签: c# dotnet-httpclient

在一个Net API控制器中,我有一个动作将请求发送到另一个第三方API,并且在接收到响应后,它将对接收到的JSON数据进行一些处理,最后将响应返回给前端应用程序。示例代码如下:

using (var client = new HttpClient())
{
    var response = await client.GetAsync(_remoteServiceEndPoint + "student/" + id);
    if (response.IsSuccessStatusCode)
    {
        var contentString = await response.Content.ReadAsStringAsync();
        //do something with contents and finally return response to the caller
    }
}

现在,如果第三方发送的JSON响应包含一个类似999999999999999.99的数字,并且ReadAsStringAsync在上述代码段中执行,则它将值更改为10000000000000000。我不要。

我想知道为什么ReadAsStringAsync如此行事。

1 个答案:

答案 0 :(得分:1)

感谢@JessedeWit指出这与NewtonSoft库有关。引入this中的问题解决方法即可解决问题。