2017-01-11 6 views
0

で実行可能なJSONファイルを作りますさて、私が望むのはこのファイルを読むことです、私は角でサービスを作った:は、私は私のローカルホストサーバに</p> <p>URLを移動するとき、私は、このようなファイルを持っているAngularjs1

.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 に行くとき、私の出力を得た方法です。正確には、Play Frameworkです。

​​

です。私はそれらを無視するために何かをする必要があると感じている\ nと。 私は私のページをロードするとき、私は空のリストを得る(ドットとそのリストに何もない点)。 しかし、私がコンソールを見ると、私のlol.jsonファイルのステータスは200です。私はそのファイルを取得しますが、何も取得できません(オブジェクト)。

何が問題ですか?

+1

どのようにjsonファイルを作成しましたか?それは有効とは見えません。 {"firstName": "Vladimir"} – Nils

+0

JSONを検証するには、次のURLを使用してください:http://jsonlint.com/ – Nils

+0

私の投稿を編集しました。 –

答えて

0

JSON.parseを使用します。以下のコードは次のとおりです。

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

それはjavascriptオブジェクト形式に文字列を変換します。 firstnameの値を取得するには、単にdata.firstnameを記録します。

+0

確かに、それは動作します。そして、data.firstNameに行くと、出力は "Vladimir"です。どのように ""を取り除く? –

+0

さて、私に説明させてください。 console.log(data)を実行すると、単に 'Object'としてログを受け取るので、JSON.stringify(data)を実行して実際のJSONを文字列として取得します。だからあなたは引用符を見ることができたのです。 JSON.stringifyを削除した、更新されたコードを確認して、必要なものを提供します。 – Gayathri

関連する問題