JavaScript "Stringarray" in Array casten

Woodz

Lieutenant
Registriert
Apr. 2009
Beiträge
696
Hallo.

Ich bin gerade am verzweifeln, weil mir nach einer Datenbankabfrage ein Array als reiner Text ausgegeben wird.
Javascript:
function loadData(para,date){

    let ajax = new XMLHttpRequest();
    let method = "GET";
    let url = "php/SqlQueries/...";
    let asynchronous = true;
                                    
    ajax.open(method, url, asynchronous);
    ajax.send();
    ajax.onreadystatechange = function(){
        if (this.readyState == 4 && this.status == 200){
            let data = JSON.parse(this.responseText);
          
            // Wenn ich mir die Koordinaten eines Datenpunktes hole:
            console.log(data[0].coords);
            // Erhalte ich:
            //-->[48.827999114990234, 12.5600004196167]
          
            // schau ich mir allerdings den Typ des Outputs an:
            console.log(typeof data[0].coords);
            // dann erhalte ich:
            --> string
            console.log(typeof data[0].coords[0]);
            // zeigt mir:
            --> [
        };
    };

Gibt es irgendeine Möglichkeit diesen reinen Textstring in ein Array zu casten? Bzw. kann man den Output denn nicht gleich als Array erkennen lassen?

Beste Grüße
Ergänzung ()

Ok, ich habe es jetzt mit:
Code:
JSON.parse(data[0].coords);
versucht.

Frage war wahrscheinlich zu einfach.

Gruß
 
Zuletzt bearbeitet:
Woodz schrieb:
Gibt es irgendeine Möglichkeit diesen reinen Textstring in ein Array zu casten?
Code:
JSON.parse("[48.827999114990234, 12.5600004196167]")
Raus kommt ein Array aus floats.

Ursache könnte sein, dass es im Responsetext selbst als string angegeben ist.
 
ich würde hier dazu raten nochmal die php ausgaben anzusehen, da das am server perfomanter ausgibt und du so rechenzeit im client sparst, wenn du nicht JSON.parse() ausführen mußt. bei wenigen inhalten ist das natürlich wurscht aber wenns viel wird ist das relevant. zb: https://www.php.net/manual/en/function.json-encode.php
 
Zurück
Oben