Javascript JSON.parse未分析完整的JSON字符串
我遇到了这样一个问题,json.parse的行为异常。 我从本地存储读取json,然后将其保存到cordova中的localstorage,但当我尝试解析它并在控制台中显示其内容时,它只显示一个元素 下面是我的代码Javascript JSON.parse未分析完整的JSON字符串,javascript,json,cordova,local,Javascript,Json,Cordova,Local,我遇到了这样一个问题,json.parse的行为异常。 我从本地存储读取json,然后将其保存到cordova中的localstorage,但当我尝试解析它并在控制台中显示其内容时,它只显示一个元素 下面是我的代码 console.log("about to display news: " +localStorage.getItem("getNewsLastUpdated")); var cacheData = JSON.parse(JSON.stringify(eval("(" + lo
console.log("about to display news:
" +localStorage.getItem("getNewsLastUpdated"));
var cacheData = JSON.parse(JSON.stringify(eval("(" +
localStorage.getItem(NewsCacheLocalStorage) + ")")));
console.log("CacheData: " + JSON.stringify(cacheData));
以下是相同的屏幕截图:
我正在读取以下代码中显示的文件:
readCache = function (fs,filename,NewsCacheLocalStorage) {
fs.root.getFile(filename, {}, function(fileEntry) {
fileEntry.file(function(file) {
var reader = new FileReader();
console.log("inside file read");
reader.onloadend = function(e) {
localStorage.setItem(NewsCacheLocalStorage, this.result);
console.log("read onloadend: " +
localStorage.getItem(NewsCacheLocalStorage) );
}
reader.readAsText(file);
}, errorReadCache);
}, errorReadCache);
}
谁能告诉我这里有什么问题吗
提前谢谢。很难说,因为您仅以屏幕截图的形式而不是[mcve]呈现了数据,但看起来您的数据包括:
- 对象文字
- A
- 另一个对象文本
如果您需要多个项目,请将它们放入一个数组。为什么要使用eval?为什么使用字符串而不是解析?为什么使用JSON.stringify和JSON.parse?谢谢,昆汀。这个问题真的解决了。我把我所有的内容都放到数组中,现在它给了我所有的值。