c't 8/2023
S. 134
Wissen
JSON mit C++
Bild: Michael Vogt

Eingefroren, aufgetaut

Webservices in C++, Teil 2: JSON-Daten (de)serialisieren

Die allermeisten Webanwendungen tauschen mit ihrem Backend Daten im JSON-Format aus. Das Verarbeiten und Erzeugen solcher Nachrichten ist damit Brot und Butter in Webservices. In C++-Code gelingt das mit der Boost-Bibliothek PropertyTree. Ein Leitfaden.

Von Oliver Lau

Statt nur ein monströses „Hallo, Welt“-Programm zu sein, soll der mithilfe von Boost.Beast programmierte Webservice aus Teil 1 [1] dieser kleinen Artikelserie etwas Sinnvolles tun: beliebig große Zahlen darauf prüfen, ob sie prim sind, und mit einer Aussage über die Primeigenschaft sowie gegebenenfalls den Primfaktoren antworten. Wie der Webservice die empfangenen Daten einliest und seine Ergebnisse für die Übertragung vorbereitet, zeigt dieser zweite Teil.

Zum Übertragen strukturierter, zusammengesetzter Daten ist das JSON-Format (JavaScript Object Notation) eine gute Wahl. Daten in diesem Format bestehen aus menschenlesbaren, UTF-8-kodierten Zeichenfolgen. Zwar gibt es zum Datenaustausch zwischen Client und Server effizientere Formate, zum Beispiel Protobuf (Protocol Buffers) von Google [2], aber noch baut die Mehrheit der Webanwendungen auf das gute, alte JSON.

Kommentare lesen (3 Beiträge)