ユーザーデータをJSON形式でファイルに保存する必要があるプログラムに取り組んでいます。データを JSON として正常に保存していますがJSON.parse
、保存した JSON を解析しようとすると機能しません。データを保存するための私のコードは次のとおりです。
function writeUser(data) {
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fs){
fs.root.getFile('user.data', {create: true, exclusive: false}, function(fe){
fe.createWriter(function(writer){
//Its converts my data to JSON here
writer.write(JSON.stringify(data));
//It displays this so I knows its been written!
console.log('File written');
}, failwrite);
}, failwrite);
}, failwrite);
}
function failwrite(error) {
console.log(error.code);
}
そして、これが私のデータを読み取るコードです:
function readUser(){
window.requestFileSystem(LocalFileSystem.PERSISTENT, 0, function(fs){
fs.root.getFile('user.data', null, function(fe){
fe.file(function(file){
return readAsText(file);
}, failread);
}, failread);
}, failread);
}
function readAsText(file) {
var reader = new FileReader();
reader.onloadend = function(evt) {
console.log(evt.target.result);
};
return reader.readAsText(file);
}
それは私のデータを文字列としてうまく返します.これは私が文字列として得るものです{"status":"true","id":"1","password":"xx"}
.しかし、データでJSON.parseを使用すると、未確認のオブジェクトが返されます. 使用する部分は次のJSON.parse
とおりです。
readUser();
var user = JSON.parse(readUser());
console.log(user);
解析された JSON を使用して console.log コマンドを実行することすらできません。