使用Angularjs1制作可用的JSON文件

时间:2017-01-11 07:03:00

标签: angularjs json

当我导航到本地主机服务器

时,我的文件看起来像这样

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.我获取该文件但无法从中获取任何内容(对象)。

有什么问题?

1 个答案:

答案 0 :(得分:0)

使用JSON.parse。代码如下:

var data=JSON.parse("{\n  \"firstName\" : \"Vladimir\"\n}\n"
);
console.log(data.firstName);

它会将字符串转换为javascript对象格式。要获取firstname的值,只需记录data.firstname。