Javascript 如何设置变量';在angularjs中上传文件json数据的s值?
我是安格拉斯的新手。我想上传一个JSON文件,使用Javascript 如何设置变量';在angularjs中上传文件json数据的s值?,javascript,angularjs,json,Javascript,Angularjs,Json,我是安格拉斯的新手。我想上传一个JSON文件,使用 我正试图访问控制器中的数据,如下所示: $scope.uploadFile = function(files) { $scope.jsonData = files[0].data; }; 但是我的变量中有一个未定义的。我必须使用这个变量来填充网站上的各种其他字段。请帮助我如何访问上传的输入文件的数据。您需要使用API FileReader对象允许web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容 其方法 readA
我正试图访问控制器中的数据,如下所示:
$scope.uploadFile = function(files) {
$scope.jsonData = files[0].data;
};
但是我的变量中有一个未定义的。我必须使用这个变量来填充网站上的各种其他字段。请帮助我如何访问上传的输入文件的数据。您需要使用API
FileReader对象允许web应用程序异步读取存储在用户计算机上的文件(或原始数据缓冲区)的内容
其方法
readAsText
方法用于读取指定Blob或文件的内容
注意:这里是一个例子,它在现代浏览器中工作
$(文档).ready(函数(){
$('#file').change(函数(e){
var reader=new FileReader();
reader.onload=函数(e){
console.log(如target.result);
//如果您想在JSON中使用
//var json=json.parse(e.target.result)
}
reader.readAsText(this.files[0]);
});
});代码>
只是另一种方式。。。如果您不想使用FileReader
并使用JSON.parse手动解析文本,并且在格式错误的情况下将其包装为try/catch
//模拟一个文件`file=files[0]`
var file=newblob(['{“hello”:“world”}']))
新响应(file).json()。然后(
json=>console.log(json),
err=>console.error(“无效的json数据”)
)
(代表OP发布解决方案)
谢谢@Satpal我使用fileReader.readAsText()和JSON.parse()解决了这个问题。只是文件[0]
@Satpal但是我如何将文件中的数据转换成对象?但是这是返回文件的原始数据,而不是我想要使用它的方式。它不是一个我可以根据“键”访问其“值”的对象形式