2013-11-23 14 views
5

私の問題は、私がC#で作成しているjsonファイルを読むことができないことです。私は私の経度と緯度の値が必要です。私はGoogleマップのWebviewを作成するためにこれらが必要です。私のjsはこのファイルを見つけたり、読むことができません。私はこれがjsonファイルの読み込み/作成の正しい方法であるかどうかはわかりません。ローカルのWindowsストアフォルダからjsファイルを読み込む

これで私のJSONファイルが作成されます。 beginPositieには、経度と緯度という2つの変数があります。

 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(); 
      } 
     } 
    } 

これはJSでJSONファイルを読み取るための機能です。 「Windows」が見つからないため、その理由がわかりません。私はすでにスクリプトを含んでおり、js用の拡張SDKをインストールしましたが、私はこのSDKへの参照を追加できません。

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); 
    } 
}); 

}

答えて

2

ApplicationDataクラスのlocalFolderプロパティをチェックしてください。このコードでは、探しているファイルデータを取得する必要があります:

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 
}); 
関連する問題