次の形式のURLを使用して、アプリパッケージ内のファイルを参照できます。
ms-appx:///data/data.json
(3つの文字があることに注意して/
ください-3番目の文字を見逃すと問題が発生します)
JSONオブジェクトを含むファイルを読み取って解析するには、Windows.Storage
名前空間内のオブジェクトを使用できます。3つのステップがあります-ファイルを指すStorageFileオブジェクトを取得し、ファイルの内容を読み取り、JSONデータを解析します。これを行うために使用したコードは次のとおりです。
var url = new Windows.Foundation.Uri("ms-appx:///data/data.json");
Windows.Storage.StorageFile.getFileFromApplicationUriAsync(url).then(function (file) {
Windows.Storage.FileIO.readTextAsync(file).then(function (text) {
var parsedObject = JSON.parse(text);
// do something with object
});
});
ファイルからデータを読み取る方法はたくさんありますが、FileIO
オブジェクトが最も便利だと思います。上記のコードは、ファイルに1つのJSONオブジェクトの説明があることを前提としています。1行に1つのオブジェクトを含むファイルがある場合は、次のものが必要になります。
var url = new Windows.Foundation.Uri("ms-appx:///data/data.json");
Windows.Storage.StorageFile.getFileFromApplicationUriAsync(url).then(function (file) {
Windows.Storage.FileIO.readLinesAsync(file).then(function (lines) {
lines.forEach(function (line) {
var parsedObject = JSON.parse(line);
// do something with object
});
});
});
これは、メソッドを使用して文字列の配列を作成するわずかなバリエーションでFileIO.readLinesAsync
あり、各文字列はJSONオブジェクトとして解析されます。