JSON-Datei zerlegen

Die Objektorientierung mit ABAP®: Vererbung, Dynamische Programmierung, GUI Controls (u.a. ALV im OO).
2 Beiträge • Seite 1 von 1
2 Beiträge Seite 1 von 1

JSON-Datei zerlegen

Beitrag von Walda86 (ForumUser / 7 / 0 / 0 ) »
Hallo zusammen,

ich möchte gerne eine JSON-Datei zerlegen, jedoch bekomme ich dies leider nicht hin.

Mein JSON-String, den ich aus der Datei einlese und dann in einen String umwandle, sieht beispielsweise wie folgt aus:
{"value":{"0.VALUE1.VAR0":1.55555616E8},"time":{"0.VALUE1.VAR0":1543998498247000000},"valueType":{}}

Nun möchte ich in meiner Struktur folgende Werte haben:

value = 1.55555616E8
time = 1543998498247000000
valuetype = " ".

Die Struktur ist im Report wie folgt definiert:

TYPES:
BEGIN OF ty_values,
value TYPE string,
time TYPE string,
valueType type string,
END OF ty_values.

DATA: ls_test TYPE ty_values.

Nachdem ich die JSON-Datei eingelesen und umgewandelt habe, möchte ich nun mit der Methode deserialize aus der Klasse /ui2/cl_json füllen:

/ui2/cl_json=>deserialize(
EXPORTING
json = lv_json_stri
assoc_arrays = 'X'
assoc_arrays_opt = 'X'
CHANGING
data = ls_test ).

Leider ist meine Struktur nach dem Methodenaufruf leer.

Was mache ich hier falsch?

Mir ist bewusst, das der Fett-markierte Teil dieses Strings Probleme macht:
{"value":{"0.VALUE1.VAR0":1.55555616E8},"time":{"0.VALUE1.VAR0":1543998498247000000},"valueType":{}}

Was kann ich dir tun, um das Problem zu lösen?

Es wäre top, wenn jemand eine Lösung wüsste!

Vielen Dank im Voraus!

Grüße,
Walda86

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


Re: JSON-Datei zerlegen

Beitrag von fr-g (ForumUser / 76 / 12 / 25 ) »
Ich hab das gerade zum ersten Mal probiert, aber mir schien die Struktur doch etwas tiefer als mit der ABAP-Struktur abgebildet.
So in etwa müsste es gehen (wegen neuer Syntax und co bin ich leider gerade systemmäßig etwas eingeschränkt):

Code: Alles auswählen.

TYPES: BEGIN OF ty_val,
         val TYPE string,
       END OF ty_val.

TYPES: BEGIN OF ty_values,
         value     TYPE ty_val,
         time      TYPE ty_val,
         valuetype TYPE ty_val,
       END OF ty_values.

DATA lv_json TYPE string VALUE '{"value":{"0.VALUE1.VAR0":1.55555616E8},"time":{"0.VALUE1.VAR0":1543998498247000000},"valueType":{}}'.
DATA lt_map TYPE /ui2/cl_json=>name_mappings.
DATA ls_map LIKE LINE OF lt_map.
DATA ls_test TYPE ty_values.

* den Key mappen
ls_map-abap = 'VAL'.
ls_map-json = '0.VALUE1.VAR0'.
INSERT ls_map INTO TABLE lt_map.

/ui2/cl_json=>deserialize(
  EXPORTING
    json = lv_json
    name_mappings = lt_map
  CHANGING
    data = ls_test ).

Seite 1 von 1

Vergleichbare Themen

1
Antw.
1345
Views
Json datei local speichern
von mano79 » 25.01.2018 09:45 • Verfasst in ABAP® für Anfänger
0
Antw.
575
Views
JSON deserialisieren
von DeathAndPain » 13.02.2019 14:10 • Verfasst in ABAP® für Anfänger
5
Antw.
3286
Views
Zeichenkette zerlegen
von Caro » 21.10.2004 11:50 • Verfasst in ABAP® Core
9
Antw.
1490
Views
JSON oder XML
von ralf.wenzel » 17.09.2019 11:52 • Verfasst in ABAP® Core
4
Antw.
3682
Views
Zerlegen eines Strings
von Happy24 » 04.07.2006 15:08 • Verfasst in ABAP® Core

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor 42 Minuten von msfox 2 / 34
Interne Tabelle
vor 17 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

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.

Aktuelle Forenbeiträge

Zugriff auf Daten via Webdav
vor 42 Minuten von msfox 2 / 34
Interne Tabelle
vor 17 Stunden von sap_enthusiast 3 / 163
Zwischensumme Adobe Forms
vor 3 Tagen von Lucyalison 1 / 71

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