JSON

Alle Fragen um die Programmierung, die sich sonst nicht kategorisieren lassen. Von Makro bis Codeblock, von IF bis ENDIF

Moderator: Moderatoren

Antworten
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

JSON

Beitrag von Jan »

Hat jemand schon mal mit Xbase++ und JSON gearbeitet? Gibt es da einen Parser für?

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
brandelh
Foren-Moderator
Foren-Moderator
Beiträge: 15689
Registriert: Mo, 23. Jan 2006 20:54
Wohnort: Germersheim
Hat sich bedankt: 65 Mal
Danksagung erhalten: 33 Mal
Kontaktdaten:

Re: JSON

Beitrag von brandelh »

Ich sag nur Pablo ... :D

http://news.xbwin.com/newsgroups.php?ar ... cle_id=828

Code: Alles auswählen

Re: json container
From 	Pablo Botella <pb>
Date 	Wed, 28 Mar 2012 01:51:14 +0200
Newsgroups 	ot4xb.public
Pablo hat geschrieben:Hi,

See in the ot4xb.examples newsgroup or from the web on this link
http://news.xbwin.com/newsgroups.php?ar ... icle_id=40

The article have a zip attached, and inside the zip a test.prg and also the JSON_Container.prg

> error ALK2102: unresolved external symbol JSON_PRETTY_OUT
> error ALK2102: unresolved external symbol JSONCONTAINER

The JSON stuff not inside ot4xb.dll but in JSON_Container.prg so you must include it in your project
ot4xb 1.6.0.18 is required because the prg is using some of the new ot4xb features

Regards,
Pablo
:arrow: http://news.xbwin.com/newsgroups.php?ar ... icle_id=40
Gruß
Hubert
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: JSON

Beitrag von Jan »

Moin Hubert,

Danke für den Hinweis! Das werde ich mal testen.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Wolfgang Ciriack
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2932
Registriert: Sa, 24. Sep 2005 9:37
Wohnort: Berlin
Hat sich bedankt: 13 Mal
Danksagung erhalten: 34 Mal
Kontaktdaten:

Re: JSON

Beitrag von Wolfgang Ciriack »

Hallo Jan,
hast du das mal getestet ?
Ich benötige wahrscheinlich in naher Zukunft auch einen Parser für json.
Viele Grüße
Wolfgang
Benutzeravatar
Jan
Marvin
Marvin
Beiträge: 14641
Registriert: Fr, 23. Sep 2005 18:23
Wohnort: 49328 Melle
Hat sich bedankt: 21 Mal
Danksagung erhalten: 87 Mal
Kontaktdaten:

Re: JSON

Beitrag von Jan »

Wolfgang,

ja, ich nutz den auch produktiv.

Wobei Frank von Alaska mir schon vor Jahren zugesichert hat, daß das auch nativ in Xbase++ reingebaut wird, bzw. das Schreiben schon drin ist.

Aktueller Stand ist: Das JSON-Schreiben haben die aus welchem Grund auch immer aus der Doku wieder rausgenommen. Und das lesen ist (lt. Frank vor ca. 2 Monaten) wohl fertig, aber noch nicht final geprüft, und daher auch nicht in der Doku.

Jan
Mitglied der XUG Osnabrück
Mitglied der XUG Berlin/Brandenburg
Mitglied des Deutschsprachige Xbase-Entwickler e. V.
Benutzeravatar
Armin
Rekursionen-Architekt
Rekursionen-Architekt
Beiträge: 389
Registriert: Mo, 26. Sep 2005 12:09
Wohnort: 75331 Engelsbrand
Danksagung erhalten: 3 Mal
Kontaktdaten:

Re: JSON

Beitrag von Armin »

Hallo Jan,

der JSON-Parser von ot4xb wird in meinem Beispiel vom Forentreffen benutzt.

Da Alaska auch keine UTF8-Umwandlung bietet, ist ot4xb sowieso notwendig und das JSON-Objekt funktioniert einwandfrei..
XMLHTTPResponse kann "nur" UTF8!

Grüße, Armin
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: JSON

Beitrag von Werner_Bayern »

Servus,

hat damit schon mal jemand einen json-String bearbeitet? Wenn ich die Klasse richtig interpretiere - was mir schwer fällt - dann kann die nur json-Strings erzeugen, jedoch nicht interpretieren?

Die Funktionen können das auch nicht?
es grüßt

Werner

<when the music is over, turn off the lights!>
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: JSON

Beitrag von ramses »

Hallo Werner

es gibt doch dazu den JSON-Container Class von Pablo damit kannst du ein JSON String in ein Xbase Array verwandeln.

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: JSON

Beitrag von Werner_Bayern »

Servus Carlo,

darauf beziehe ich mich ja. Ein

Code: Alles auswählen

json_pretty_out(cJson)
gibt mir einen String zurück und ein

Code: Alles auswählen

oJson := json_Container():new()
oJson:m_unserialize_step(cJson)
aAntwort := oJson:get_prop("ID")
gibt mir immer NIL zurück.
es grüßt

Werner

<when the music is over, turn off the lights!>
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: JSON

Beitrag von ramses »

Hallo Werner

angenommen in cc1 steht der Json-String verwende ich

Code: Alles auswählen

cc1 := '{"login":1,"commando":0,"errortext":0,"knummer":812001,"transfernummer":1,"Bestnummer":"15-6","Referenz":"Test Umlaute \u00E4\u00F6\u00FC\u00C4\u00D6\u00DC","postionen":[[["Nummer",1],["Artikel",1]],[["Nummer",1],["Artikel",2]],[["Nummer",1],["Artikel",3]],[["Nummer",1],["Artikel",4]],[["Nummer",1],["Artikel",5]],[["Nummer",1],["Artikel",6]],[["Nummer",1],["Artikel",7]],[["Nummer",1],["Artikel",8]],[["Nummer",1],["Artikel",9]],[["Nummer",1],["Artikel",10]]]}'

oJson := json_Container():new()
oJson := json_unserialize( json_pretty_out( cc1 ) , @lError)
um Json in das Objekt zu bringen.

Danach

Code: Alles auswählen

?  oJson:get_prop("login")
um die Werte auszulesen.

Gruss Carlo
Valar Morghulis

Gruss Carlo
Benutzeravatar
Werner_Bayern
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2120
Registriert: Sa, 30. Jan 2010 22:58
Wohnort: Niederbayern
Hat sich bedankt: 29 Mal
Danksagung erhalten: 70 Mal

Re: JSON

Beitrag von Werner_Bayern »

Servus Carlo,

danke, das hilft mir weiter. Woher hast Du das, ist ja nirgends dokumentiert?

Übrigens, das

Code: Alles auswählen

oJson := json_Container():new()
kannst Du Dir sparen, wird durch die nächste Zeile überschrieben. Das brauchst Du nur, wenn Du Json-Daten schreiben möchtest.
es grüßt

Werner

<when the music is over, turn off the lights!>
ramses
Der Entwickler von "Deep Thought"
Der Entwickler von "Deep Thought"
Beiträge: 2513
Registriert: Mi, 28. Jul 2010 17:16
Hat sich bedankt: 12 Mal
Danksagung erhalten: 77 Mal

Re: JSON

Beitrag von ramses »

Hallo Werner

ja mit dem New() hast du recht.

Ich habe 2014 eine umfangreiche Klasse geschrieben um JSON zu erstellen und zu lesen. Diese Klasse verwende ich seitdem für Web-Apps und Kommunikation zu Steuerungen.
Ich mag mich nur noch errinnern dass ich mich auch abgemüht habe bis alles richtig lief. Seitdem musste ich die Klasse nicht mehr ändern. Woher die Infos stammten bezw. ich diese fand daran mag ich leider mich nicht mehr errinnern ........

Gruss Carlo
Valar Morghulis

Gruss Carlo
Antworten