2013-11-23 9 views
5

Mein Problem ist, dass ich meine JSON-Datei, die ich in C# erstellen kann nicht lesen kann. Ich brauche meine Längen- und Breitengrade in meiner js. Ich brauche diese für die Erstellung eines Google Maps-Webview. Meine JS kann diese Datei nicht finden/lesen. Ich bin mir nicht sicher, ob dies die richtige Art ist, die JSON-Datei zu lesen/zu erstellen.Lesen von Dateien in js aus lokalen Windows Store-Ordner

Hiermit erstelle ich meine JSON-Datei. Die beginPositie hat 2 Variablen: Längen- und Breitengrad.

 public async Task Serialize(Coordinate beginPositie) 
     { 
     string json = JsonConvert.SerializeObject(beginPositie); 

     StorageFolder localFolder = ApplicationData.Current.LocalFolder; 

     StorageFile MarkersFile = await localFolder.CreateFileAsync("markers.json", CreationCollisionOption.ReplaceExisting); 

     using (IRandomAccessStream textStream = await MarkersFile.OpenAsync(FileAccessMode.ReadWrite)) 
     { 
      using (DataWriter textWriter = new DataWriter(textStream)) 
      { 
       textWriter.WriteString(json); 
       await textWriter.StoreAsync(); 
      } 
     } 
    } 

Dies ist meine Funktion zum Lesen der JSON-Datei in JS. Das "Windows" kann nicht gefunden werden und ich kenne den Grund dafür nicht. Ich habe bereits die Skripte, installiert das Erweiterung SDK für js, aber aus einem Grund kann ich nicht den Verweis auf dieses SDK hinzufügen.

function getJSON() { 
//var uri = new Windows.Foundation.Uri('ms-appdata:///local/markers.json'); 
//json = Windows.Storage.StorageFile.getFileFromApplicationUriAsync(uri); 
$.ajax({ 
    url: "ms-appdata:///local/markers.json", 
    success: function (data) { 
     json = JSON.parse(data); 
    } 
}); 

}

Antwort

2

Schauen Sie sich die localFolder Eigenschaft der ApplicationData Klasse. Dieser Code sollte die gesuchten Dateidaten abrufen:

Windows.Storage.ApplicationData.current.localFolder.getFileAsync("markers.json").done(
function (file) { 
    Windows.Storage.FileIO.readTextAsync(file).done(
     function (fileContent) { 
      //'fileContent' contains your JSON data as a string 
     }, 
     function (error) { 
      //file couldn't be read - handle the error 
     }); 
}, 
function (error) { 
    //file not found, handle the error 
}); 
Verwandte Themen