VB API Result преобразует десятичные числа - PullRequest
0 голосов
/ 24 января 2020

У меня есть простой пост API, как это

    <HttpPost>
Public Function testPost() As IEnumerable(Of sp_select)
    Dim _tmplist As New List(Of sp_select)

    Dim _Content = jsonSerializer.Deserialize(Of myparams)(Request.Content.ReadAsStringAsync().Result)
    Dim mandant = _Content.mandant



    Using mycon As New dal_globalDataContext
        Dim _result = mycon.sp_select(CType(mandant, Decimal)).ToList

        If Not _result.Any = False Then

            For Each entry In _result
                _tmplist.Add(entry)
            Next

        End If

    End Using

    Return _tmplist

End Function

Все хорошо. Но если я проанализирую результат следующим образом:

    Public Sub testPost()

    Dim client = New System.Net.Http.HttpClient()
    client.BaseAddress = New Uri("http://localhost:62068")
    client.DefaultRequestHeaders.Accept.Clear()
    client.DefaultRequestHeaders.Accept.Add(New System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json"))

    Dim _datasource As IEnumerable(Of Object) = Nothing

    Dim _content = New With {.mandant = 0}

    Dim serializer As New JavaScriptSerializer()
    Dim arrayJson As String = serializer.Serialize(_content)

    Dim responseTask = client.PostAsync("/actionapi/dataSource/testPost/", New StringContent(arrayJson))
    responseTask.Wait()
    Dim result = responseTask.Result

    If result.IsSuccessStatusCode Then
        Dim readTask = result.Content.ReadAsAsync(Of IList(Of sp_select))()
        readTask.Wait()
        _datasource = readTask.Result

Любое десятичное свойство класса имеет десятичную точку. Таким образом, 1 будет 1,0

Знаете ли вы, как предотвратить такое поведение?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...