2017-08-07 92 views
0

我試圖通過使用ng-repeat在ng視圖中獲取items._id值。 發生所有數據,但我想要特定的數據。如何通過在angularjs中使用ng重複獲取嵌套的JSON數據

data.json

[ { _id  : "td6v9db4514cc4ewew4334", 
    firstName : 'ayaz', 
    lastName : 'memon', 
    items  : '[{"_id":"item2","_name":"My Item #4"}, 
        {"_id":"item3","_name":"My Item #4"}]', 
    totalItems : 3, 
    totalPrice : 2999.97 } ] 

控制器

app.controller('myCtrl', function($scope, $http) { 
    $http.get("data.json").then((response) => { 
    console.log(response.data) 

    $scope.userInfo = response.data 
    }) 
}) 

納克視圖

<body ng-app="myApp"> 

<div ng-controller="myCtrl"> 
<ul ng-repeat="x in userInfo"> 
    <li >{{x}}</li> 

</ul> 

+1

'ng-repeat =「x.items中的項」'將返回每個項目 – Abinthaha

+1

您將不得不使用嵌套的'ng-repeat'。 – Rajesh

+0

您顯示的數據不是有效的JSON。在JSON中的鍵必須被'''包圍。 –

回答

0

嘗試此,

[{ 
    "_id": "td6v9db4514cc4ewew4334", 
    "firstName": "ayaz", 
    "lastName": "memon", 
    "items": [{ 
      "_id": "item2", 
      "_name": "My Item #4" 
     }, 
     { 
      "_id": "item3", 
      "_name": "My Item #4" 
     } 
    ], 
    "totalItems": 3, 
    "totalPrice": 2999.97 
}] 

你可以在ng-repeat =「itemIn userInfo.items」和{{item._id}}中的項目中獲得重複的「_id」。

如果有任何錯誤,請糾正我,我還是新的。 謝謝。

+0

這是如何:'「項目」:{「_id」:「item2」,「_ name 「:」我的物品#4「}, {」_id「:」item3「,」_ name「:」我的物品#4「},'有效的JSON? – Rajesh

+0

@Rajesh你是對的,我忽略了它。 –

+0

當你在你的答案中改變某些東西時,請檢查它的其餘部分是否與更新同步。指向*這不是一個嵌套的JSON。* – Rajesh

0

嘗試使用嵌套NG-重複這樣的:

<ul ng-repeat="user in userInfo"> 
    <li ng-repeat="x in user.items">{{x._id}} : {{x._name}}</li> 
</ul> 

我假設你的HTTP調用將返回一個有效的反應,因爲你給了JSON數據是無效的。鑰匙必須放在「」內。我也構成了對NG-重複假設你的反應將有多個對象

+0

沒有任何東西出現 –

1

在這裏,您正在使用嵌套的JSON對象即用戶信息的項目,你可以寫NG-重複的,

<body ng-app="myApp"> 
<div ng-controller="myCtrl"> 
<ul> 
    <li ng-repeat="x in userInfo.items">{{x._id}}</li> 
</ul> 

注:這將是很好的,如果你在使用<li></li> NG-重複,而不是<ul></ul>

+0

只是一個小問題,'userInfo'是一個對象數組而不是對象。 – Rajesh

+0

是的我同意你的意見,但它的數組中的單個元素,所以我們可以使用像userInfo [0] –

+0

或者它只是一個樣本輸入和實際數據由* n *對象組成。 – Rajesh

0

這是爲我工作的理解:

<ul> 
    <li ng-repeat="user in userInfo"> 
    <ul> 
     {{user._id}} 
     <li ng-repeat="item in user.items"> 
     {{item._id}} 
     </li> 
    </ul> 
    </li> 
</ul> 

Plunker例如: http://plnkr.co/edit/hzWdj2IiUI2RytYVUI7m?p=preview

+0

[1]:https://i.stack.imgur.com/hzIu4.png –

+0

東西你的JSON數據有問題,你可以在我的Plunker例子中看到,我已經使用了與你的相同的對象,並且它工作。 –

+0

您忘記在括號**項目前添加單引號:'[{....}]'** –

0

我試圖檢索字符串作爲一個對象是一個錯誤。我使用了對象數據而不是字符串並得到了結果。