电容器Filesystem.readFile从Android文件系统读取JSON文件,但添加了换行符。
在使用电容器之前,Ionic V3在使用File.readAsText的情况下在Android文件系统上读取JSON文本文件没有问题,升级到Ionic V4后,readFileAsText不再解析。建议使用电容器。实现并尝试了不同的FilesystemsEncoding参数(ASCII,UTF8),但问题相同。
sample file (JSON):
{
"id": 1,
"name": "random text",
"artistId": 1,
"artistName": "random text",
"adminId": 1,
.....
读取文件的示例服务(Typescript):
this.filePath.resolveNativePath(
this.file.externalRootDirectory + this.metadataDir + '/').then(
async filePath => {
console.log('Got into filepath-> ' + filePath);
try {
const fileData = await Filesystem.readFile({
encoding: FilesystemEncoding.ASCII,
path: filePath + '/' + fileName});
console.log('Got data-> ' + fileData);
....
预期: 获得数据-> {“ id”:1,“ name”:“随机文本”,“ artistId”:1,“ artistName”:“随机文本”,“ adminId”:1, ....
实际: 得到了数据-> {“数据”:“ {\ n \” id \“:1,\ n \”名称\“:\”随机文本\“,\ n \” artistId \“:1,\ n \” artistName \“:\”随机文本\“,\ n \” adminId \“:1 ....