Anzeige

 Firefox OS json Datei auslesen.


Status
Dieses Thema wurde gelöst! Zur Lösung gehen…

strukturart

Erfahrenes Mitglied
#1
Hallo,

ich erstellen für das FirefoxOS(KaiOs) ein OpenStreetMap-App, bei auslesen einer json Datei komme ich nicht weiter.

damit lese ich die Datei aus:

Javascript:
var finder = new Applait.Finder({ type: "sdcard", debugMode: true });
finder.search("montoz.json");
finder.on("fileFound", function (file, fileinfo, storageName) {

obj = JSON.parse(file);
});


L.geoJSON(obj).addTo(map);
console.log(file)
Wird korrekt ausgeben, also wird die Datei erreicht.

Aber es stimmt was nicht beim parsen der montoz.json Datei
dort erhalte ich den Fehler:

Code:
SyntaxError: JSON.parse: unexpected character at line 1 column 2 of the JSON data
Meine json fängt so an:

JSON:
  {
    "type": "FeatureCollection",
    "features": [
        {
            "type": "Feature",
            "properties": {
                "name": "Radtour am Morgen",
                "time": "2018-03-18T10:57:33Z",
                "coordTimes": [
                    "2018-03-18T10:57:33Z",
                    "2018-03-18T10:57:34Z",
                    "2018-03-18T10:57:35Z",
                    "2018-03-18T10:57:36Z",
                    "2018-03-18T10:57:37Z",


Was mach ich denn falsch ?
 
Zuletzt bearbeitet:

strukturart

Erfahrenes Mitglied
#3
das json ist valid.
Ich glaube der Fehler liegt beim Dateizugriff, dazu verwende ich: https://github.com/applait/finderjs
beim
Code:
obj = JSON.parse(file);
werde die Information die file beinhalte wie z.B.: Grösse des Files, Datum des Files durchlaufen und nicht wie ich dachte die des montoz.json files.

Hmh wie könnte das denn funktionierten ?
 

strukturart

Erfahrenes Mitglied
#5
So nun habe ich probiert und getestet leider ohne Erfolg.
Das json File wird ausgelesen und korrekt in das File Objekt geladen.

Jedoch beim darstellen des Pfades erhalte ich immer den Fehler. invalid GeoJson.

Hier das snippet um die Datei einzulesen und darzustellen:

Javascript:
function addTrack()
{

  var finder = new Applait.Finder({ type: "sdcard", debugMode: true });
  finder.search("montoz.json");

  finder.on("searchBegin", function (needle) {
  alert("search startet")
  });

 finder.on("fileFound", function (file, fileinfo, storageName) {
 //alert("gefunden")

 var mygpx="";
 var reader = new FileReader();

      reader.onerror = function(event) {
    
    alert('shit happens')
    reader.abort();
  };


     reader.onload = function(event) {

  };

  reader.onloadend = function (event) {
       mygpx = event.target.result
      alert(mygpx);
    var myLayer = L.geoJSON().addTo(map);
    myLayer.addData(mygpx);
  
 


};


  reader.readAsText(file)


  });



}
 
Status
Dieses Thema wurde gelöst! Zur Lösung gehen…
Anzeige
Anzeige