Man*_*ert 5 javascript json file windows-8 winjs
我正在敲打这个.
我找不到从WinJS App中的子文件夹打开简单json文件的方法.
我尝试过Ajax和WinJS.xhr,都无济于事.
我还考虑过使用像.NET中的File.Open这样的"老式"方式打开文件,但除了WinJS.Application.local.readText之外我找不到任何东西,我试用了绝对和亲戚路径.
我在这里结束了,有没有人有一个可以分享的工作片段?
Ada*_*man 10
您可以使用以下格式的URL引用应用包中的文件:
ms-appx:///data/data.json
Run Code Online (Sandbox Code Playgroud)
(请注意,有三个/
字符 - 如果你错过第三个字符,你会有问题)
要读取和解析包含JSON对象的文件,可以使用Windows.Storage
命名空间中的对象.有三个步骤 - 获取指向文件的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
});
});
Run Code Online (Sandbox Code Playgroud)
有很多方法可以从文件中读取数据,但我觉得这个FileIO
对象最方便.上面的代码假定文件中有一个JSON对象描述.如果你有一个每行包含一个对象的文件,那么你需要这个:
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
});
});
});
Run Code Online (Sandbox Code Playgroud)
这是一个轻微的变体,它使用该FileIO.readLinesAsync
方法创建一个字符串数组,每个字符串都被解析为一个JSON对象.
归档时间: |
|
查看次数: |
6705 次 |
最近记录: |