SAP Jobsuche bei DV-Treff
winserl
  • winserl
  • SAP Forum - Neuling Thema Starter
vor 6 Jahre
Guten Tag SAP-Community,

ich binde unser JIRA Ticketsystem per REST API an unser SAP System an. Ein REST Aufruf gibt mir folgendes Result (JSON) zurück:


[{"self":"https://abc:8445/rest/api/2/priority/1","statusColor":"#d04437","description":"This problem will block progress.","iconUrl":"https://abc:8445/images/icons/priorities/highest.svg","name":"Highest","id":"1"},{"self":"https://abc:8445/rest/api/2/priority/2","statusColor":"#f15C75","description":"Serious problem that could block progress.","iconUrl":"https://abc:8445/images/icons/priorities/high.svg","name":"High","id":"2"}]

Im Standardfall erstelle ich mir eine Struktur mit den selben Feldnamen wie im JSON um

anschließend die Standardtransformation "ID" verwenden zu können. Diese matched die Felder automatisch.

Bei der Standardtransformation muss jedoch immer ein Root Element angegeben werden, welches ich bei diesem JSON Dokument nicht habe. Dieses beginnt sofort mit dem Array ohne Angabe eines Root Elements!

Beispiel Standardfall:


 call transformation id source xml lv_jsonx
                       result issuetypes = et_results.

Beispiel ohne Root:


    call transformation id source xml lv_jsonx
                         result et_results. 
    "Angabe so nicht möglich da Root Element erwartet wird. (Syntaxfehler)

JSON mit Root Element:


 "issueTypes": [
        {
            "self": "http://localhost:8090/jira/rest/api/2.0/issueType/3",
            "id": "3",
            "description": "A task that needs to be done.",
            "iconUrl": "http://localhost:8090/jira/images/icons/issuetypes/task.png",
            "name": "Task",
            "subtask": false,
            "avatarId": 1
        },
        {
            "self": "http://localhost:8090/jira/rest/api/2.0/issueType/1",
            "id": "1",
            "description": "A problem with the software.",
            "iconUrl": "http://localhost:8090/jira/images/icons/issuetypes/bug.png",
            "name": "Bug",
            "subtask": false,
            "avatarId": 10002
        }
    ],

Root Element = issueTypes

Gibt es eine Möglichkeit trotzdem die Standardtransformation zu verwenden oder muss ich dies per XML Klassen selbst auslesen? Vielleicht fehlt mir auf der Position des Root elements nur ein generisches Keyword was die Anweisung syntaktisch richtig macht...

Viele Grüße!

winserl

Tron
  • Tron
  • SAP Forum - Profi