0

Array in Array via Rest API

Hallo Forum,

 

ich muss ein verschachteltes Array an eine Geolocation API absenden.

{"locations":[[9.70093,48.477473],[9.207916,49.153868],[37.573242,55.801281],[115.663757,38.106467]]}

 

Ist das überhaupt in der NINOX machbar?

Evtl. muss ich es mir vorher als Text zusammensetzen? Ich komm da grad nicht wirklich weiter....

LG Tobias

4 Antworten

null
    • Sean
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Tobias,

     

    Das könntest du mal versuchen...

     

    formatJSON("{""locations"":[[9.70093,48.477473],[9.207916,49.153868],[37.573242,55.801281],[115.663757,38.106467]]}")

    • Leonid_Semik
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo Tobias,

    wenn die Koordinaten in einer Tabelle ORTE in Felder LON und LAT organisiert sind dann ist es so möglich;

    ...
    let myBody:={

    locations:for i in select ORTE do

    unique(LON,LAT)

    end

    }
    ...

    @Sean

    du meinst bestimmt parseJSON() 

    Leo

    • Sean
    • vor 3 Jahren
    • Gemeldet - anzeigen

    @Leo

     

    Vielleicht wurde die Absicht bei der Übersetzung verwechselt. Ich habe verstanden, dass Tobias ein mehrdimensionales Array an eine API senden wollte, die nicht Ninox ist. Das von ihm als Beispiel angegebene Format ist JSON und ein mehrdimensionales Array kann per JSON übermittelt werden, ohne dass eine Schleife verwendet werden muss.

     

    Ich glaube, parseJSON() wird verwendet, wenn Sie JSON konsumieren möchten, und formatJSON() wird verwendet, wenn Sie JSON senden möchten.

    • T_Bartzsch
    • vor 3 Jahren
    • Gemeldet - anzeigen

    Hallo ihr Lieben,

    und vielen Dank für den Input.

    @Sean: Ja, du hast recht, ich will ein mehrdimensionales Array senden. Ich habe alle Varianten versucht

    Nach einigem probieren mit der Body Variable habe ich diese allerdings dann weg gelassen  - und es klappt.

    @Leo: Ich habe tatsächlich über eine Untertabelle "Waypoints" die einzelenen Ziele definiert - als myBody-Variable nimmt er es nicht, komischerweise aber direkt in der http abfrage:

     

    let myPath := "https://api.openrouteservice.org/v2/directions/driving-car";
    let auth := {
    Authorization: "5b3ce3................47b132ba8d",
    'Content-Type': "application/json"
    };
    let response := do as server
    http("POST", myPath, auth, {
    coordinates: for i in select Waypoints do
    unique(i.Anlagen.lon, i.Anlagen.lat)
    end,
    language: "de"
    })
    end;

     

    Vielen Dank nochmal euch beiden!

    LG

    Tobias