2017-05-10 9 views
2

Ich benutze Yaml-cpp auf einer für eine Vielzahl von Dingen in meinem Projekt. Jetzt möchte ich einige Daten als JSON ausschreiben. Da JSON eine Teilmenge von YAML ist, zumindest für die Funktionen, die ich brauche, sollte es möglich sein, einige Optionen in yaml-cpp für die Ausgabe von reinem JSON festzulegen. Wie ist das gemacht?JSON mit yaml-cpp emittieren?

Antwort

3

yaml-cpp hat nicht direkt eine Möglichkeit, JSON-kompatible Ausgaben zu erzwingen, aber Sie können es wahrscheinlich emulieren.

YAML:Emitter Emitter; 
emitter << YAML:: DoubleQuoted << YAML::Flow << /* rest of code */; 
+0

Das scheint für meinen Fall zu funktionieren, gültige JSON wird emittiert. Ich habe nur eine Folge Frage: Das obige ergibt alle JSON auf einer langen Linie. Gibt es eine Möglichkeit, Zeilenumbrüche und Einrückungen zu haben? – Jim

+0

Ich glaube nicht. –

+0

Dies scheint nicht mehr zu funktionieren, oder zumindest auf komplexeren YAML. Ich bekomme alles in verschiedenen Zeilen mit YAML-Stil-Arrays und -Objekten, wenn ich eine komplexe << Node-Ausgabe mache. – David