serialize datatable met bindingsource omzetten met NewtonSoft

Status
Niet open voor verdere reacties.

BjorntobeWild

Gebruiker
Lid geworden
29 aug 2011
Berichten
120
Hoi,

Ik heb via REST Api gegevens via Json opgehaald.
Het Json model ziet er als volgt uit:

Code:
{  "Id": "",
  "Name": "",
  "ExternalId": "",
  "Headers": [
    {
      "Name": "",
      "DisplayAt": ""
    }
  ],
  "Rows": [
    "Array[string]"
  ],
  "NewRows": [
    "Array[string]"
  ],
  "DeletedRows": [
    "Array[string]"
  ],
  "CompanyId": 0,
  "IntegrationKey": ""
}

Mijn Classes zien er als volgt uit:

Code:
Imports Newtonsoft.Json

Namespace Models


    Public Class Header


        <JsonProperty("Name")>
        Public Property Name As String


        <JsonProperty("DisplayAt")>
        Public Property DisplayAt As String
    End Class


    Public Class DataSource


        <JsonProperty("Id")>
        Public Property Id As String


        <JsonProperty("Name")>
        Public Property Name As String


        <JsonProperty("Headers")>
        Public Property Headers As Header()


        <JsonProperty("Rows")>
        Public Property Rows As String()()


        <JsonProperty("TotalRows")>
        Public Property TotalRows As Integer


        <JsonProperty("LastUpdated")>
        Public Property LastUpdated As DateTime


        <JsonProperty("CompanyId")>
        Public Property CompanyId As Integer
    End Class


    Public Class Category


        <JsonProperty("DataSource")>
        Public Property DataSource As DataSource
    End Class


End Namespace

Ik heb een datatable genaamd dt waarin ik de array Rows heb geplaatst.
Via bindingSource worden de wijzigingen van de array Rows bijgehouden.
Alle gegevens worden keurig weergegeven in het Winform.

Nu wil ik de wijzigingen doorvoeren via een PUT commando. Als ik de volgende code hiervoor gebruik:

Code:
json = JsonConvert.SerializeObject(td, Formatting.Indented)
wordt alleen de array Rows geserialezed.

Wat moet ik doen om de datatable dt in het Json model te krijgen?

Groet,
Björn
 
Je uitleg is niet echt duidelijk. Maar als ik het goed begrijp haal je wel het hele model op en laadt vervolgens alleen de rows array in een DataTable. Wijzigt de overige data niet? Dan kan je toch gewoon lokaal een instantie van je model bijhouden en vervolgens alleen de rows tabel in de instantie van dat model updaten.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan