离子2 http服务获取数据本地json文件

时间:2017-01-22 01:59:42

标签: json http ionic-framework

我有一个离子2小应用程序,它使用存储在assets文件夹中的本地json文件。此文件提供有关历史人物的生物数据,因此无需进行任何编辑。我可以在home.ts中访问该文件,如此

constructor(public navCtrl: NavController, public http: Http) {

this.http.get('../assets/people.json').subscribe(data => {
this.people = data.json();

});

注意这是有效的,我可以通过* ngFor循环遍历数据。

但我认为这应该是服务。但我无法弄清楚如何将其放入服务,然后访问我的主页中的数据。我四处搜索但找不到任何解决办法。

2 个答案:

答案 0 :(得分:0)

由于this tutorial from TutorialsPoint,我能够做到这一点。本教程演示了如何创建服务,并将指令与ionic Storage结合起来设置并从本地存储的文件中获取数据。

export class SomeService {
...
    getSomething(): Observable<Something[]> {
      return this._http.get(this._someUrl)
      .map((response: Response) => <Something[]> response.json())
      .do(data => this.storage.set("some_key", data));
   }
...
}

答案 1 :(得分:-1)

Service.js

return this.http
       .request('assets/data/radio-stations.json')
       .map(response => response.json());

contoller.js

this.service.getdata()
    .subscribe(response => {
           this.data = response.Radios; 
      }, err => {
         console.log(err);
      });