![]() |
Delphi-Version: 10.3 Rio
Decoding von zusammengefügten JSON Objekten
Hallo,
ich habe eine Funktion, die Daten aus JSON Dokumenten ausliest. Dies Dokuemnte werden über eine Webschnittstelle empfangen, an der ich nichts ändern kann. Manchmal werden mehrere JSON Dokumente in einem Datenstream übermittelt:
Code:
Gibt es eine Funktion, die automatisch solchen hintereinandergefügten JSON Dokumente separieren kann? Im Momemt arbeite ich (mehr schlecht als recht) mit (recht umfangreichen) regulären Ausdrücken und die einzelnen JSON Dokumente aus dem String zu extrahieren. Aber das müsste doch einacher gehen.
{Daten JSON Dokument1}{Daten JSON Dokument 2}
Danke, Gruß Benno |
AW: Decoding von zusammengefügten JSON Objekten
Ich würde vorne ein [ und hinten ein ] dranmachen,
Delphi-Quellcode:
durch
}{
Delphi-Quellcode:
ersetzen und es dann als Json-Array parsen 😂
}, {
|
AW: Decoding von zusammengefügten JSON Objekten
Hallo,
erstmal danke für Deine Antwort. Leider habe ich keinen Einfluß auf die Datenquelle. Ich kann Sie also nicht (bei der Erstellung) anpassen. Aber grundsätzlich ist es ja genau das Problem, die Stellen zu finden, in an denen die Klammern und das Komma gesetzt werden müssten. Gruß Benno |
AW: Decoding von zusammengefügten JSON Objekten
Beim zweiten Blick habe ich verstanden, was du meintest. Dann teste ich mal.
Danke |
AW: Decoding von zusammengefügten JSON Objekten
Die Stellen zu finden ist "leicht.
Delphi-Quellcode:
darf nicht vorkommen, also kannst es einfach überall ersetzen, mit'm Komma dazwischen.
}{
Eventuell beim Suchen noch Leerzeichen und Zeilenumbrüche dazwischen beachten. Einzig wo es vorkommen könnte, wäre in Strings, aber wenn'de das ausschließen kanns, dann stört das nicht. Per se gäbe es auch JSON-Libs, welche z.B. einen TStream lesen, bis zum Ende eines Blocks. Dann könnte man anschließend ab da den nächsten Block lesen. Aber jetzt mit den vorhandenen Hausmitteln ist die andere Idee schon handlicher. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:58 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz