所以我无法使用控制台命令在nativescript中显示我的JSON文件的内容。我基本上想要显示这些内容并使用文件中的值来执行一些其他功能。
这是我在NS文档和Emil Oberg的解决方案上稍微重写的JS函数
var fs = require('file-system');
var documents = fs.knownFolders.documents();
var jsonFile = documents.getFile('/Users/student/Desktop/Native_Script/Library/app/images/status.json');
var array;
var jsonData;
//console.log('Item:' +jsonFile);
jsonFile.readText()
.then(function (content)
{
try {
jsonData = JSON.parse(content);
//console.log('Item:' + JSON.stringify(jsonData));
array = new observableArrayModule.ObservableArray(jsonData);
}
catch (err) {
console.log(err);
}
console.log('Item:' +JSON.stringify(jsonData));
});
////////////////
JSON File:
[{
"Status": "3",
"Trend": "increase",
"Space": "Gleason"
}, {
"Status": "2",
"Trend": "decrease",
"Space": "PRR"
}, {
"Status": "4",
"Trend": "stable",
"Space": "WBR"
}, {
"Status": "1",
"Trend": "decrease",
"Space": "HCR"
}]
所以有人可以告诉我哪里出错了,我将如何在控制台中显示文件的任何组件。我基本上想要使用文件中的一个值,比如status,来调用另一个函数。
类似于:(伪代码)
status.getvalue 。然后(功能) 如果状态> 3 console.log(地方很拥挤)
答案 0 :(得分:1)
好的,所以你在这里尝试从设备(iPhone / Android / Emulator /等)读取计算机上的文件。这根本不可行。 getFile
调用期望设备上的路径 。
所以,要么:
require()
JSON文件。例如。 var jsonFile = require('status.json')
它会被你阅读和解析。答案 1 :(得分:0)
添加类似下面的代码,可能是你的jsonFile.readText()抛出错误
p1.then(function(value) {
console.log(value); // "Success!"
throw 'oh, no!';
}).catch(function(e) {
console.log(e); // "oh, no!"
})
jsonFile.readText()
.then(function (content)
{
try {
jsonData = JSON.parse(content);
//console.log('Item:' + JSON.stringify(jsonData));
array = new observableArrayModule.ObservableArray(jsonData);
}
catch (err) {
console.log(err);
}
console.log('Item:' +JSON.stringify(jsonData));
})
.catch(function(e) {
console.log(e); // "oh, no!"
});