2016-04-10 7 views
-3

私のJSONは AngularJSは

以下
$scope.peoples = [people:{ 
    name: 'Mike ', 
    age: 20 
}, people:{ 
    name: 'Peter S ', 
    age: 22 
}]; 

ノートのようになります。私は、JSONの構造を変更することはできません。

ここは私のコードですng-repeatjsonを読み取れませんでした。

<div ng-controller="MyCtrl"> 
    <table class="table table-hover"> 
     <tr ng-repeat="p in peoples"> 
      <td> Name: {{ p.name }} &nbsp;</td> 
      <td> Age: {{ p.age }} &nbsp;</td> 
     </tr> 
    </table> 

</div> 

var app = angular.module('myApp', []); 

function MyCtrl($scope) { 
    $scope.peoples = [people:{ 
     name: 'Mike ', 
     age: 20 
    }, people:{ 
     name: 'Peter S ', 
     age: 22 
    }]; 
} 
+0

私はこれが理解できない "**私は、JSONの構造を変更することはできません。**"、あなたはコンソールで行う場合には、 'するvar A = [人:{ 名: 'マイク'、 年齢:20 }、人:{ 名前: 'Peter S'、 年齢:22 }] 'あなたは** Uncaught SyntaxError:予期しないトークン:(...)**を取得します。 if文を変更することができないので、 'if x == 3> 4'が動作することを期待しているのと同じです。 –

答えて

1

は、あなたのJSON配列が間違った方法で定義されているように見える:

$scope.peoples = [{ 
     name: 'Mike ', 
     age: 20 
    },{ 
     name: 'Peter S ', 
     age: 22 
    }]; 

の通知には、人々は反対しないがあります。あなたはオブジェクトなしで人を定義しました。あなたのjsonを修正すれば、コードは正常に動作します。

ここでは、JSONの修正と作業コードです:人々は、オブジェクトに既存のコードを固定するhttp://jsfiddle.net/Lvc0u55v/2236/

他の方法は、下記に示すように、あなたはjavascriptオブジェクトに人を動かす、次のとおりです。

Javascriptを:

$scope.peoples = [{ 
    people : { 
     name: 'Mike ', 
     age: 20 
    }},{ 
    people: { 
     name: 'Peter S ', 
     age: 22 
    }}]; 

HTML:

<td> Name: {{ p.people.name }} &nbsp;</td> 
    <td> Age: {{ p.people.age }} &nbsp;</td> 

この方法で、あなたはpeopleオブジェクトを使用できます。ここに作業コードがあります:http://jsfiddle.net/Lvc0u55v/2237/

全体として、私は第2のアプローチの代わりに第1のアプローチを使用することをお勧めします。

+0

私は人を削除すれば動作するでしょう。しかしあなたのjsであなたはp.people.nameを使用しませんでした。だからjsfiddleで使ってください。 – Thomas

+0

あなたのフィドルを見てくださいhttp://jsfiddle.net/Lvc0u55v/2238/ 'p.people.name'を使用すると動作しません – Thomas

+0

チェックアウト第2の解決策:http://jsfiddle.net/Lvc0u55v/2237/ 定義する必要があります角度ng - 反復のためのオブジェクトの下の人々は理解する。 – insomiac