2017-02-22 1 views
1

Ich habe einen 256-Größe-Puffer, der Daten empfängt und sie als Byte-Array "speichert". Die enthaltenen Daten sind JSON-Objekte, aber ich kann nicht herausfinden, wie man sie manipuliert. Das Schlimmste, mit dem ich mich befassen muss, ist, dass die JSON-Objekte gestapelt sind. Das erste JSON-Objekt enthält mehr als ein JSON-Objekt und jedes JSON-Objekt enthält ein anderes. Das erste Byte-Array enthält das erste Objekt und das letzte Byte-Array enthält die schließende Klammer dieses ersten Objekts.Manipuliere Byte [] C#

Wie soll ich die Daten bekommen, die ich will, und sie weiter bearbeiten? Ich möchte jedes Objekt in einer SQL-Datenbank nach dem Trennen der JSON-Objekte speichern. Wäre es besser, eine Liste oder ein Array zu implementieren, um die Byte-Arrays zu speichern, oder gibt es eine bessere Lösung?

+2

Warum speichern Sie JSON als ein 'Byte []' anstelle einer Zeichenfolge oder benutzerdefinierten Objekte? –

+0

Normalerweise, wenn ganze JSON erhalten kann, können Sie sie als Klassen einfügen und verwenden OOP-Ansatz – Tatranskymedved

+0

Einfache Google-Suche wird Ihnen eine Menge von .NET JSON-Bibliothek Optionen. – Gordon

Antwort

1

Zuerst convert das Byte-Array zu string. Dies hängt auch von der Codierung ab. Jetzt sollten Sie einen normalen JSON als String-Objekt erhalten. Sie können sicherstellen, dass Ihr JSON nun "gut" aussieht, indem Sie einfach nur die String-Variable und was sie enthält sehen, was mit dem Byte-Array, das Sie am Anfang hatten, nicht so einfach gewesen wäre.

Anschließend können Sie versuchen, und convert die JSON-Zeichenfolge von oben Schritt zu Objekten.

+0

Wenn ich jedes Byte-Array in String umwandle, werde ich mehrere Zeichenfolgen haben, da meine Daten mehr als eine Zeichenfolge enthalten können (wenn ich richtig bin, kann ein String-Wert halten zu 256 Zeichen). – Rapsoulis

+0

@Rapsoulhs String kann * mehr * als 256 Zeichen enthalten –

+0

Oh, in Ordnung. Ich versuche, die Daten in einer Zeichenfolge zu speichern. – Rapsoulis