JSON oder XML

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
10 Beiträge • Seite 1 von 1
10 Beiträge Seite 1 von 1

JSON oder XML

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
Moin,

beim Ablegen beliebig strukturierter Daten verwende ich derzeit XMLs in Stringtabellen. Für die, die mit JSON mehr Erfahrung haben als ich: Bringt das was, JSON statt XML einzusetzen? Der XML-Overhead ist ja nicht gerade klein.


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Re: JSON oder XML

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
Da die Verarbeitung von XML direkt von SAP unterstützt wird (CALL TRANSFORMATION) und es meiner Erfahrung nach sehr schnell geht, sehe ich in JSON keinen Vorteil.
Zudem finde ich es bei serialisierten Daten sinnvoll, wenn man sehen kann, welche Daten das sind. Bei XML sieht man das an den Tags. Bei JSON sieht man nur die Daten.

Re: JSON oder XML

Beitrag von a-dead-trousers (Top Expert / 4271 / 213 / 1140 ) »
CALL TRANSFORMATION unterstützt auch JSON. Der Aufruf ist nur etwas umständlicher, weil man mit JSON-Writer bzw. -Reader Objekten herumhantieren muss und es (noch) kein Schlüsselwort für JSON (analog zu XML für SOURCE oder RESULT) gibt.
Theory is when you know something, but it doesn't work.
Practice is when something works, but you don't know why.
Programmers combine theory and practice: Nothing works and they don't know why.

ECC: 6.18
Basis: 7.50

Re: JSON oder XML

Beitrag von ewx (Top Expert / 4784 / 294 / 628 ) »
ewx hat geschrieben:
17.09.2019 13:30
Bei JSON sieht man nur die Daten.
Stimmt ja gar nicht...
Dementsprechend ist der Overhead bei json also auch da.
Evtl. gibt es noch eine andere Art, die Daten als JSON zu speichern? Also ohne den Bezeichner? Ansonsten sind nach einem kurzen Versuch einerseits Verarbeitungszeit als auch Datengröße ähnlich.

Folgende Benutzer bedankten sich beim Autor ewx für den Beitrag:
DeathAndPain


Re: JSON oder XML

Beitrag von deejey (Specialist / 418 / 128 / 45 ) »
Am besten ist immer noch csv-Datei 😜

Folgende Benutzer bedankten sich beim Autor deejey für den Beitrag:
DeathAndPain


Re: JSON oder XML

Beitrag von IHe (Specialist / 141 / 35 / 45 ) »
Wenn es hauptsächlich um den Overhead geht, bringt evtl. eine Conversion-Methode mit ZIP/UNZIP-Funktionalität etwas, wodurch die Stringdaten vor dem Speichern umgewandelt und dann als XSTRING gespeichert werden + Unzip beim Laden der Daten?

Das geht allerdings deutlich auf die Performance wenn es um Massenverarbeitung geht, lohnt sich vermutlich nur für einzelne große Objekte.
Ingo Hoffmann

ECC|S/4HANA|BTP
dbh SAP Solutions

Re: JSON oder XML

Beitrag von SaskuAc (Specialist / 321 / 37 / 43 ) »
deejey hat geschrieben:
18.09.2019 01:19
Am besten ist immer noch csv-Datei 😜
Aber natürlich! - zumindest zum in die Tonne kloppen und nie wieder anschauen ( außer man ist data scientist... )

Zum Thema:
zum einfachen Speichern in einer Stringtabelle würde ich weiterhin bei XML bleiben. Ich empfinde den overhead jetzt nicht so dramatisch. Je nachdem wie "kompliziert" deine XML ist, desto größer wird auch der Overhead. Ansonsten hilft ein "call transformation".

Wenn du allerdings später diese Daten extern weitergeben willst ( z. b. als webservice oder auf einem dateiserver oder sonst wie ) empfinde ich JSON als sinnvoller und moderner. Ist aber wohl geschmackssache.

Folgende Benutzer bedankten sich beim Autor SaskuAc für den Beitrag:
DeathAndPain


Re: JSON oder XML

Beitrag von edwin (Specialist / 300 / 9 / 68 ) »
Hi,
also ich benutze fast nur noch JSON, das braucht bei mir 50-60%
weniger als XML, und das Handling ist auch nicht komplizierter.

Grüße Edwin

Re: JSON oder XML

Beitrag von ralf.wenzel (Top Expert / 3776 / 176 / 262 ) »
edwin hat geschrieben:
18.09.2019 10:57
Hi,
also ich benutze fast nur noch JSON, das braucht bei mir 50-60%
weniger als XML, und das Handling ist auch nicht komplizierter.

Grüße Edwin
Wie genau verwendest du das, ausgehend vom bislang verwendeten CALL TRANSFORMATION? ;)


Ralf
Bild
Ralf Wenzel Heuristika SAP-Development
25 Jahre SAP-Entwickler • 20 Jahre Freiberufler
PublikationenUngarische NotationXing

Re: JSON oder XML

Beitrag von edwin (Specialist / 300 / 9 / 68 ) »
Hi,

SAP codepage 4110 - utf-8

Code: Alles auswählen.

data xstr      type xstring.
data data_struct  type <irgendeine auch tiefe striktur>.

xstr = cl_bcs_convert=>string_to_xstring( EXPORTING iv_codepage = '4110'
                             iv_string = /ui2/cl_json=>serialize( compress = 'X' data = data_struct ) ).
..
* anschauen:
DATA(out) = cl_demo_output=>new(  )->begin_section( 'JSON' ).

out->write_xml( xstr )->display( ).
..
* und zurück 
clear data_struct.
/ui2/cl_json=>deserialize(  EXPORTING json  =
       cl_bcs_convert=>XSTRING_TO_STRING( exporting IV_XSTR = xstr iv_cp = '4110' )
                              CHANGING  data  = data_struct ).

/Edwin

Folgende Benutzer bedankten sich beim Autor edwin für den Beitrag (Insgesamt 4):
IHeThomas R.SaskuActm987456


Seite 1 von 1

Vergleichbare Themen

0
Antw.
575
Views
JSON deserialisieren
von DeathAndPain » 13.02.2019 14:10 • Verfasst in ABAP® für Anfänger
1
Antw.
2106
Views
JSON-Datei zerlegen
von Walda86 » 05.12.2018 13:21 • Verfasst in ABAP Objects®
6
Antw.
1621
Views
JSON parsen in Node-Table
von ralf.wenzel » 14.04.2021 15:51 • Verfasst in ABAP Objects®
0
Antw.
1602
Views
JSON-Inhalt in Variable speichern
von Commu » 11.08.2015 16:38 • Verfasst in Web-Dynpro, BSP + BHTML
1
Antw.
1345
Views
Json datei local speichern
von mano79 » 25.01.2018 09:45 • Verfasst in ABAP® für Anfänger

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Unbeantwortete Forenbeiträge

Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71
Group Items auf einer Filterbar
vor einer Woche von Bright4.5 1 / 111
tRFC Transaktionen SM58
vor 4 Wochen von A6272 1 / 141