JSON parsen



  • Tim06TR schrieb:

    Ich verwende Arch. Das sind die libs alle brandneu und das user repo hat auch ein haufen builds für git devel(opment) branches. Sowas wie uralt (das nennt man dann "stable") Debian tu ich mir nicht an. Ich baue natürlich auch Sachen selbst, die einfach nicht im Repo sind.

    Ich inzwischen auch nicht mehr.
    Hatte damals ein Debian installiert, bei dem der i965-Treiber nicht mit dem Haswell-Chip konnte, und deswegen einen schlechteren ausgewählt hat, der aber wenigstens tut. Nur war der so scheiße, dass ein einfaches Video im VLC 200% Prozessorauslastung verursacht hat ... 🙄

    Tim06TR schrieb:

    Aber die bekanntesten Libs sind alle im Repo und installiere ich einfach nur noch.
    Warum sollte ich das noch selbst bauen?

    Weil ich gerne auch mal an Libs rumhacke, wo die Entwickler zu ... naja, blöd sind, um dafür mal einen Fix einzubauen.
    Beispiel: neues Headset mit USB-Soundkarte und einen Emulator mit Fast-Forward. Explizit eingestellt, dass kein Sound abgespielt werden soll, wenn Fast-Forward aktiv ist. Es wurde allerdings dann doch Sound abgespielt, und die USB-Karte lief ständig in Underruns, sodass Fast-Forward effektiv langsamer war.
    Lösung: Fix im Quellcode, dass kein Sound abgespielt werden soll. Fix eingeschickt, und nie wieder was von den Typen gehört. Wurde bis heute nicht gefixt meines Wissens. 🙄 Bei jeder neuen Version muss ich den Code dann anfassen.

    Klar, kann ich auch auf Arch haben. Aber manchmal will ich auch Systemlibs debuggen, wo so ganz merkwürdige Fehler auftauchen. Als ich VDPAU ans Laufen bringen wollte und das Initialisierungs-API immer nur einen Fehlercode ohne Erklärung geschmissen hat (ich liebe das, wenn sonst keine Fehler angegeben werden). Unter Gentoo konnte ich dann sehr leicht debuggen und feststellen, dass die Bibliothek meinen Chipsatz noch gar nicht kannte. Einen Monat später war das Paket dann aktualisiert, und dann funzte das API auch und ich konnte endlich mal ffmpeg ordentlich nutzen.

    Aber das ist jedenfalls alles sehr Off-Topic. 🙂 Klar ist jedenfalls, dass das alles immer noch Größenordnungen besser ist, als sowas auf Windows abzuziehen.



  • Ich habe noch nicht sooo viel unter Linux entwickelt, obwohl ich Linux seit ca 13 Jahre kenne. Allerdings ist das Nachinstallieren unter Linux und das Kompilieren der nötigen abhängigen Libs fast ein Kinderspiel und genau das ist die Gefahr für das Lernen. Um zu verstehen wie was funktioniert, muss ich viele Fehler machen und die auch selbst beheben lernen. Das klappt unter Windows, allerdings ohne vorgekauten VisualStudio-Projekte, viel besser. Durch MinGW + Msys habe ich aber genauso ein make, bash und den ganzen Kommandovielfalt wie unter Linux und ich kann die ganzen Shell auch für die tägliche Arbeit unter Windows wunderbar nutzen. Man ist ja unter Windows, dank Cygwin, überhaupt nicht auf CMD und PowerShell angewiesen, wenn man dies nicht will.

    Ich muss aber zugeben, dass ich das ein oder anderen Projekt erst gar nicht richtig angefangen habe, weil ich bestimmte Libs nicht unter den drei großen Systeme(OSX, Windows, Linux) zum Laufen gebracht habe. Falsche Schalter, Pfade, verschiedene Versionen etc. haben mich auch schon zur Weißglut getrieben. Ich habe dann auch des öfteren Mal komplett mit C++ aufgehört, weil ich einfach keine Lust mehr auf das Theater hatte.

    Mittlerweile wird mit Qt schon recht viel abgedeckt, da brauche ich selten was Externes und es läuft überall, na jedenfalls unter OSX und Windows. Linux hat nie länger als ein paar Wochen im Dualboot bei mir überlebt, irgendwas hat mich am Ende immer richtig angekotzt, auf dem Rootserver und als Android ist es aber toll.



  • Tim06TR schrieb:

    tntnet schrieb:

    Müssen solche Kraftausdrücke wirklich sein? Wenn Du nicht verstehst, wie eine lib in C++ funktioniert, dann solltest Du nicht darüber schimpfen.

    Aber ich muss zugeben, dass ich ihm manchmal schon zustimmen muss. Ich habe auch nicht immer Lust 3 Tage Dokumentationen zu lesen um eine Library langsam vernünftig nutzen zu können. Viel besser noch, wenn die Dokumentation dürftig ist.
    Erst recht nicht, wenn die Aufgabe, die sie erledigen soll, eine einfache ist.
    Hier weiß ich es natürlich nicht, weil ich mir die libs nicht angesehen habe.

    EDIT: Ich bin schneller in Qt reingekommen als in so manche kleine Library.

    Wo ist das Problem? Wieso musst Du 3 Tage Dokumentationen lesen um eine Library zu nutzen? Das ist doch nicht so schwer.

    Zunächst muss man die Library installieren. Das geht idealerweise über ein einfaches Kommando für den Paketmanager. Der wurde hier ja schon ausreichend gewürdigt. Leider gibt es genau ein Betriebssystem, welches meint, ohne auskommen zu müssen. Da muss ich die Library irgendwo sinnvoll unterbringen. Oder man compiliert sie aus den Sourcen. Ein "./configure && make && sudo make install" genügt häufig. Oder einfach mal in die mitgelieferte Installationsanweisung schauen.

    Eine C++ Library besteht aus Headern und einer oder mehreren libs. Die Header werden in der Regel nach der Installation automatisch gefunden (ich schliesse mal dieses eine Betriebssystem aus, welches keinen Paketmanager und kein Konzept hat, wo man Includes und Libraries unterbringt). Die Lib genau so. Ich muss sie einfach nur mit dem Flag -l an den Compiler (das ist sogar unter allen mir bekannten Compilern einheitlich) gelinkt werden.

    Eine andere Sache ist, wenn die Library eine komplizierte API hat. Aber das ist immer so bei Software und beschränkt sich nicht auf Libraries oder gar nur auf C++-Libraries. Entweder ist der Sachverhalt so kompliziert und erfordert eine komplizierte API oder aber die Library ist schlecht designt. Das ist aber auch nicht spezifisch für C++. Komplizierte Software gibt es auf jeder Ebene.

    So, und jetzt sag mal, wo Du ihm zustimmen musst? Ich kann ihm höchstens attestieren, die falsche Betriebssystemwahl getroffen zu haben. Aber das gilt leider für den Großteil der Computernutzer.



  • tntnet schrieb:

    Ich kann ihm höchstens attestieren, die falsche Betriebssystemwahl getroffen zu haben. Aber das gilt leider für den Großteil der Computernutzer.

    Genau Windows ist auch die total falsche OS-Wahl. Es wird nur genutzt weil die Mehrheit aus DAUs besteht. Das muss der Grund sein und nicht etwa weil viele Linux auf dem Desktop einfach zum brechen finden. 🙄

    Ich persönlich habe OSX und Windows und arbeite viel lieber unter Windows. Linux teste ich jedes Jahr auf Desktoptauglichkeit und jedes Jahr stecke ich mir nach kurzer Zeit wieder den Finger in den Hals. Die Shell + Paketmanager sind geil, alles was mit Desktop zu tun hat, ist einfach ein schrecklicher Brei, den zich Köche schon umgerührt haben. Wer sich so etwas freiwillig rein zieht ist wirklich schmerzbefreit und hat meinen vollen Respekt.

    Sorry für so viel Offtopic, aber bei indirekten Linux-Empfehlungen hört wirklich der Spaß auf.



  • Sorry für Ot:

    Citizen42 schrieb:

    tntnet schrieb:

    Ich kann ihm höchstens attestieren, die falsche Betriebssystemwahl getroffen zu haben. Aber das gilt leider für den Großteil der Computernutzer.

    Genau Windows ist auch die total falsche OS-Wahl. Es wird nur genutzt weil die Mehrheit aus DAUs besteht. Das muss der Grund sein und nicht etwa weil viele Linux auf dem Desktop einfach zum brechen finden. 🙄

    Du hast es erfasst.

    Ich persönlich habe OSX und Windows und arbeite viel lieber unter Windows. Linux teste ich jedes Jahr auf Desktoptauglichkeit und jedes Jahr stecke ich mir nach kurzer Zeit wieder den Finger in den Hals. Die Shell + Paketmanager sind geil, alles was mit Desktop zu tun hat, ist einfach ein schrecklicher Brei, den zich Köche schon umgerührt haben. Wer sich so etwas freiwillig rein zieht ist wirklich schmerzbefreit und hat meinen vollen Respekt.

    Von welchen Desktops redest du? Ich persönlich bin mit Ubuntu/Unity zufriedener als mit Windows*: Native Multidesktops, Firefox Desktop Notifications funktioniert wesentlich besser, man kann jeden Scheiß einstellen, etc.

    *Gut, Windows 10 ist geil, wird eine Konkurrenz werden, wenns fertig ist.



  • Ich habe persönlich damals mit Suse 7.3 angefangen und von Ubuntu kenne ich alle Versionen seit 6.06. Immer hatte ich die Hoffnung, irgendwann weg von dem "bösen" Windows zu kommen. Letztendlich blieb es immer als Dualboot drauf und ich war schnell dabei, Daten zwischen diesen beiden Versionen hin und her zu schubsen. Wenn ich dann mal ein der Systeme neu installieren wollte, war das auch immer irgendwie ein Kraftakt. Letztendlich habe ich gemerkt, dass ich Windows doch immer brauche, sei es zum Testen ob meine Software läuft, oder um einfach mal eine Runde zu zocken(freu mich schon auf Elite Dangerous). Jetzt habe ich mittlerweile einen neuen DesktopPC mit UEFI und die letzten Linux Installationen mit Dualboot und Windows8.1 waren schon sehr nervig und jedes mal war ich dann nach ein paar Wochen des Einrichtens und Testens froh wenn alles wieder von der Platte war und ich Windows only drauf hatte. Mein Mac würde auch mit Windows-only laufen, wenn es besser das Touchpad, so wie unter OSX, unterstützen würde. Ich hasse den Finder und die Tastaturbeleung unter OSX und das OSX ständig meine USB-Datenträger mit irgendwelche ._DS_Store und sonst was vollplastert. Nett ist das eine Unixshell immer da ist, aber das kann ich mit Cygwin auch unter Windows ganz schnell haben.

    Unter dem Strich kommt bei mir Windows, von der Bedienung, an aller erster Stelle, dann kommt OSX und ganz weit unter dann leider erst Linux. Ich warte seit vielen vielen Jahren auf eine Version die Windows und OSX in die ewigen Jagdgründe schicken kann. Aber ich habe das Gefühl, dass dies noch locker 10 Jahre dauern kann.

    Ich bin auch kein Fanboy einer gewissen Richtung, mir ist es egal ob was kommerziell ist oder nicht, oder ob die NSA da mit ließt. Ich will mit dem System so gut es geht arbeiten und das kann ich derzeit mit Windows am allerbesten. Alle anderen Systeme sind mit Einschränkungen verbunden, die ich nicht hinnehmen möchte. Ich habe einfach keine Lust mehr zu basteln und das musste ich bis jetzt an irgendeiner Stell immer und teils für ganz essentielle Dinge(Bluetooth bleibt nicht ausgeschaltet, Energiemanagment, Bluray etc.)

    Auf meinem Rootserver läuft seit Jahren Debian und man merkt, dass es dafür wie gemacht ist. Die einzige GUI die mit Linux gut funktioniert, ist in meinen Augen Android, die haben alles richtig gemacht. Eine Firma, ein Desktop und das eisern in wenigen Jahren zum Massenerfolg hochgezogen. Genau so etwas bräuchte es für den Linux-Desktop auf dem PC. Das Konzept der Vielfältigkeit und jeder darf mal in die Suppe spucken, geht beim Desktop irgendwie nicht auf.



  • komisch. ich spiele seit vielen Jahren windows spiele ohne windows.


  • Mod

    otze schrieb:

    komisch. ich spiele seit vielen Jahren windows spiele ohne windows.

    Was sind den "Windows Spiele"?



  • tntnet schrieb:

    Tim06TR schrieb:

    ...

    Eine andere Sache ist, wenn die Library eine komplizierte API hat. Aber das ist immer so bei Software und beschränkt sich nicht auf Libraries oder gar nur auf C++-Libraries. Entweder ist der Sachverhalt so kompliziert und erfordert eine komplizierte API oder aber die Library ist schlecht designt. Das ist aber auch nicht spezifisch für C++. Komplizierte Software gibt es auf jeder Ebene.

    Das meinte ich eigentlich. Ich hatte mir zunächst sein post nicht gründlich genug durchgelesen. Mir gings nicht ums bauen und linken.



  • otze schrieb:

    komisch. ich spiele seit vielen Jahren windows spiele ohne windows.

    Ach ja, wenn ich mir z.B. das neue Elite Dangerous kaufe, dann läuft das ohne Basteln unter Linux? Wenn ich Musik machen will, mit meinen VST-Instrumenten, dann läuft dies ohne Basteln unter Linux? Wenn ich meine YouTube Videos mit AfterEffects erstelle, dann läuft dieses Programme mit voller GPU Unterstützung und den Trapcode-Plugins auch ohne Basteln unter Linux?

    Ich habe wirklich wirklich viel probiert unter Linux und manches ist ziemlich geil wie Blender, Libreoffice usw und manches für die Tonne wie Gimp(seit 2008 warte ich auf die vollständige GEGL-Intergration mit Einstellungs-/ebenen/stile, damit man endlich eine ernsthafte Alternative zum teuren Photoshop hat und es mit Photoshop 6.0 aus dem Jahre 2000 aufnehmen kann.

    Und ja ich kenne Wine und Crossoveroffice. Ich habe wirklich viel und lange getestet, sonst könnte ich auch keine Kritik üben.

    Es tut mir Leid, aber sobald man was in Richtung Multimedia machen will ist man mit Linux ziemlich verloren, oder muss mit ziemlich übler Software kämpfen. Das ist meine persönlich Meinung und ich habe es wirklich ernsthaft probiert und würde mich heute noch freuen wenn Linux mein Hauptsystem werden könnte.

    EDIT: Ganz schlimm finde ich auch diese Tearing-Effekte, wenn man sich mal ein Video anschaut und FullHD im Browser bringt auch so manchen i5 zum stottern. Naja und Bluray brauche ich erst gar nicht mit anfangen. Man was habe ich mich da geärgert mit meinen neuen Bluray-Brenner und die ersten Scheiben.



  • Um mal auf´s Thema zurückzukommen:

    JSONcpp kostet nichts, außer deine Zeit. Wenn du nicht durchsteigst, dann guck, ob es was Professionelles mit Support gibt.
    Aber bitte beschwer´ dich nicht darüber, dass jemand sich zwar die Zeit genommen hat, eine Bibliothek zu entwickeln, aber nicht die Zeit, eine super Dokumentation mitzuliefern.



  • Tim06TR schrieb:

    boost property_tree

    die ist praktisch einfach nur: daten laden und baum draus generieren.
    Die Doku hat auch ein kurzes Tutorial.

    Ein gern gemachter Fehler, aber völlig daneben, wenn es komplizierter als "Hello world" werden soll.

    Für JSON gibt es das relativ brauchbare header-only https://github.com/miloyip/rapidjson.



  • Citizen42 schrieb:

    otze schrieb:

    komisch. ich spiele seit vielen Jahren windows spiele ohne windows.

    Ach ja, wenn ich mir z.B. das neue Elite Dangerous kaufe, dann läuft das ohne Basteln unter Linux? Wenn ich Musik machen will, mit meinen VST-Instrumenten, dann läuft dies ohne Basteln unter Linux? Wenn ich meine YouTube Videos mit AfterEffects erstelle, dann läuft dieses Programme mit voller GPU Unterstützung und den Trapcode-Plugins auch ohne Basteln unter Linux?

    Ich habe wirklich wirklich viel probiert unter Linux und manches ist ziemlich geil wie Blender, Libreoffice usw und manches für die Tonne wie Gimp(seit 2008 warte ich auf die vollständige GEGL-Intergration mit Einstellungs-/ebenen/stile, damit man endlich eine ernsthafte Alternative zum teuren Photoshop hat und es mit Photoshop 6.0 aus dem Jahre 2000 aufnehmen kann.

    Und ja ich kenne Wine und Crossoveroffice. Ich habe wirklich viel und lange getestet, sonst könnte ich auch keine Kritik üben.

    Es tut mir Leid, aber sobald man was in Richtung Multimedia machen will ist man mit Linux ziemlich verloren, oder muss mit ziemlich übler Software kämpfen. Das ist meine persönlich Meinung und ich habe es wirklich ernsthaft probiert und würde mich heute noch freuen wenn Linux mein Hauptsystem werden könnte.

    EDIT: Ganz schlimm finde ich auch diese Tearing-Effekte, wenn man sich mal ein Video anschaut und FullHD im Browser bringt auch so manchen i5 zum stottern. Naja und Bluray brauche ich erst gar nicht mit anfangen. Man was habe ich mich da geärgert mit meinen neuen Bluray-Brenner und die ersten Scheiben.

    was ist "basteln" für dich?
    wine macht exe unter linux ausführbar... 😉

    was hast du denn konkret getestet? du übst auch keine kritik sonder sagst lediglich "das klappt nicht...", eine kritik ist ein konstruktiver verbesserungsvorschlag 😉 ...

    gimp hat bei mir auch ebenen... wann hast du denn das "letzte" mal getestet? schon en weilchen her oder?

    linux hat auch in sachen desktop eine menge aufgeholt und viele neue einstellungsmöglichkeiten für klicky bunty desktop user 😃 ...
    (die meistens von win kommen ... 😃 )

    du machst eig für mich den eindruck als hast du keine ahnung von linux...
    wahrscheinlich auch nur begrenzt von pcs allgemein... für dich zählt hauptsache das game läuft... 😃

    hast mal versuch apache unter win zu installieren/ konfigurieren oder sogar anzupassen? ganz zu schweigen von anderen server sachen... das ist der absolute graus...

    na ja ich nutze auch ab un zu windows z.B. um portierung des c++ codes zu testen...

    aber die von dir oben genannten gründe zeugen eher davon das du dich eben noch NICHT richtig mit linux beschäftigt hast und getestet hast... 😉

    jedoch wie du zu vergleichen... "bei windows funktioniert alles einfach so, und unter linux ist das alles jaaaa sooo schwweeerr und zum kotzen... " zeugt für mich eher davon das du kein plan hast... 😃

    mein fiat ist ja auch nich besser als nen bmw weil dort das gps nicht so kompliziert zu bedienen ist 😃 ... oder vll doch?
    beim fiat braucht man sich gar nicht mit der bedienung des gps-systems ausseinandersetzen... -> JA GENAU DER HAT JA GAR KEINS...! 😃 was für eine logik?!

    ps: akt. suse version ist 13.2 😉 ...

    ein solcher vergleich ist in meinen augen sehr schwierig ...
    es müssten vorher klare und nachvollziehbare kriterien definiert werden ... (das einzige was ich bei dir rausgehört hatte ist multimedia... dazu auch noch was ... wenn das soo schlecht wäre warum nutzen dann sehr viele ihr raspberry als multimedia station... ähhmm linux basiert...? )



  • edit: (sry hatte ich eben vergessen...)
    in meinen augen sind linux und windows einfach nicht bzw. sehr schwierig zu vergleichen...
    da die unterschiede einfach zu groß sind...
    es sind beides vertretbare systeme , und jedes hat seine vor- und nachteile in bezug auf bestimmte anwendungszwecke... 🙄



  • @labmbda: Sorry, aber mir kommt es vor als wenn du kaum einen Plan hast. Klar hat Gimp Ebenen ich sprach von Ebenenstilen und Einstellungsebenen, dies wird schon seit Jahren in den Gimp-Foren von den Usern gewünscht und ist mit GEGL auch machbar und sie werden auch kommen, nur warte ich darauf schon viele Jahre und es sieht so aus, als wenn ich noch weitere Jahre warten muss.

    Und ja ich kennen mich mit Apache unter Linux, Windows und auch OSX aus. Ich betreibe einen Root-Server mit Debian und testen tue ich auch unter Windows, so schwer ist es nicht dort ein paar Vhosts mit Xampp aufzusetzen.

    Ich habe viele Verbesserungsvorschläge, aber keine Lust diese schriftlich zu verfassen oder dort mich aktiv zu beteiligen. Ich spreche hier von der Anwenderseite, also ich will ein Gimp und oder Webserver nutzen und nicht dort mit entwickeln.

    Die Kritik hier hat sich halt in den letzten Jahrzehnt so angesammelt und ich teste schon sehr oft neue Versionen auf Tauglichkeit. Und sicher kann man Linux mit Windows vergleichen wenn es dieses eines Tages mal ersetzen soll, was ich hoffe.

    Es gibt auch Sachen die besser sind, z.b finde ich Thunar um längen besser als meinen Finder unter OSX oder den Explorer unter Windows. Ich finde auch den Gedanken der hinter Linux steht toll. Ich liebe Blender und LibreOffice. Ich nutze sehr viel OpenSource, allerdings unter Windows und OSX, weil mit das Kernsystem mir Linux immer noch nicht zusagt, bzw mir essentielle Dinge wie volle Blurayunterstüzung, VST-Instumente(Ich nutze viel Uhe-Diva) und so fehlen.

    Es ist ja ein kleiner Umbruch zu erkennen und immer mehr Fimen schenken auch Linux ihre Aufmerksamkeit. Aber ich habe halt keine Lust mehr die Zwischenstufen bis dahin mit zu machen. Wenn ich ordentlich einfach Videos machen kann, wie mit AfterEffects, schöne Bildbearbeitung wie mit Photoshop und auch mal Mukke machen kann wie mit Bitwig + VSTs(Bitwig gibt es auch für Linux ich weiß) und ich dann noch Spiele wie Elite Dangerous spielen kann, sowie Blurays einfach so abspielen und brennen kann. Wenn all dies out-of-the-box läuft, dann bin ich gerne bereit komplett umzusteigen. Ein Dualboot kommt mir nicht mehr in die Tüte, davon habe ich die Schnauze voll.

    Da habe ich ja ein schönes Offtopic produziert, sorry an dieser Stelle an den Mod. Ich werde auch nicht mehr auf das Thema eingehen.



  • TyRoXx schrieb:

    Tim06TR schrieb:

    boost property_tree

    die ist praktisch einfach nur: daten laden und baum draus generieren.
    Die Doku hat auch ein kurzes Tutorial.

    Ein gern gemachter Fehler, aber völlig daneben, wenn es komplizierter als "Hello world" werden soll.

    Für JSON gibt es das relativ brauchbare header-only https://github.com/miloyip/rapidjson.

    Könntest du mir noch ein paar Beispiele oder Erläuterungen geben? Für Fundamentaltypen + Strings in Objekten und Arrays völlig ok, auch geschachtelt.
    Ich verwende sie für Kommunikation über das Netzwerk mit JSON Objekten mittlerer Komplexität (eigene subjektive Bewertung - beinhaltet smart_ptr und alles was die STL zu bieten hat).

    EDIT: Oder ist boost::property_tree langsam?



  • Citizen42 schrieb:

    ...

    Mit "Desktoptauglichkeit" meinst Du offensichtlich hauptsächlich die Verfügbarkeit von Applikationen. Das ist sicher richtig. Gute Desktopapplikationen sind tatsächlich leider Mangelware. Das ist halt sehr schade 😞 .

    Ich persönlich verwende kein Multimedia außer mal ein youtube-Video oder so was anschauen. Und das geht mit Linux. Wenn man nur im Internet browsen, E-Mails lesen und ab und an mal einen Brief schreiben will, dann ist man mit Linux gut bedient. Ich glaube, das trifft für ganz viele User zu.

    Praktisch finde ich solche Sachen wie Paketmanagement (haben wir schon erwähnt), ssh, shell und auch die Benutzeroberfläche mit den mehreren Desktops. Dafür gibt es unter Windows keinen vernünftigen Ersatz. Wobei jetzt wohl so ein Multidesktop in Windows integriert wird, wie ich gehört habe.

    Ach ja - ich habe auch was zur ursprünglichen Frage beizutragen. Ich habe eine Library cxxtools, wo ein Json-Parser dabei ist. Ist auch ganz leicht mit "./configure && make && sudo make install" zu installieren. Aber wie ihr euch denken könnt nur unter Betriebssystemen mit einer richtigen shell 😉 .



  • Ich benutze jetzt Boost danke an Tim06TR.

    [quote="TyRoXx"]

    Tim06TR schrieb:

    boost property_tree

    Für JSON gibt es das relativ brauchbare header-only https://github.com/miloyip/rapidjson.

    Soetwas habe ich gesucht. Naja boost läuft jetzt.



  • Boah, ich konnte mir jetzt leider nich den ganzen Thread mit dieser Diskussion über w/e durchlesen ...

    Frage: Ist boost's property_tree jetzt geeignet für das JSON parsen oder gibts da berechtigte Kritik gegen? Es klang nämlich so.

    Nach eigener Ansicht sieht das schon ganz gut aus, aber man kann sich ja immer irren 🙂



  • cvcv schrieb:

    Boah, ich konnte mir jetzt leider nich den ganzen Thread mit dieser Diskussion über w/e durchlesen ...

    Frage: Ist boost's property_tree jetzt geeignet für das JSON parsen oder gibts da berechtigte Kritik gegen? Es klang nämlich so.

    Das ist eine Datenstruktur, die zufällig eine Kodierung in ein JSON-basiertes Format anbietet. Warum Leute das als allgemeinen JSON-Parser und -Generator verwenden, obwohl es richtige JSON-Bibliotheken für C++ gibt, ist mir schleierhaft.
    Die Dokumentation von PropertyTree sollte genug Kritik beinhalten.

    The property tree dataset is not typed, and does not support arrays as such.

    Außerdem ist das Ding wahnsinnig ineffizient. Ein Dokument muss immer den Umweg über einen vollständigen PropertyTree nehmen. Zahlen und Booleans werden als Strings gespeichert. Es gibt keine Stromkodierung/dekodierung.


Anmelden zum Antworten