当我导航到本地主机服务器
时,我的文件看起来像这样URL:
http://localhost:9000/read/lol.json
输出如下:
"{\n \"firstName\" : \"Vladimir\"\n}\n"
现在,我想要的是阅读这个文件,所以我提供了角度服务:
.service('messageService', ['$resource', function($resource){
this.getMessage = function(firstName) {
var gmList = $resource("read/lol.json");
return gmList.get({
firstName : firstName
});
};
}]);
和我的controller.js
.controller('messageService', function(messageService){
this.firstName = messageService.firstName;
this.messageResult = messageService.getMessage(this.firstName);
});
最后,我的html文件
<div data-ng-controller="messageService as mService">
<p>This is new controller: </p>
<div >
<ul data-ng-repeat="w in mService.messageResult">
<li>{{w.firstName}}</li>
</ul>
</div>
EDIT!这是我去/read/lol.json时输出的方法 它在java中,确切地说,是Play Framework。
public Result getFileContent(String filename) throws IOException {
String publicFolder = _appEnvironment.rootPath().getAbsolutePath().concat(folder);
String result = "";
FileReader in = null;
BufferedReader br = null;
File dataFile = new File(publicFolder + filename);
try {
in = new FileReader(dataFile);
br = new BufferedReader(in);
String line;
while ((line = br.readLine()) != null) {
result = result.concat(line).concat("\n");
}
} finally {
if (in != null) {
in.close();
}
if (br != null) {
br.close();
}
}
return ok(Json.toJson(result));
}
多数民众赞成。我觉得有必要做些什么来忽略那些\ n和。 当我加载我的页面时,我得到空列表(该列表中的点和没有任何内容,只有点)。 但是,当我查看控制台时,我的lol.json文件的状态为200.我获取该文件但无法从中获取任何内容(对象)。
有什么问题?
答案 0 :(得分:0)
使用JSON.parse。代码如下:
var data=JSON.parse("{\n \"firstName\" : \"Vladimir\"\n}\n"
);
console.log(data.firstName);
它会将字符串转换为javascript对象格式。要获取firstname的值,只需记录data.firstname。