簡體   English   中英

對象數組的角度JSON過濾器

[英]Angular JSON Filter for Array of Objects

我正在使用$ http來獲取用戶集合。 服務器的原始響應是這樣的...

[{"id":2,"name":"John Doe","email":"johndoe@infosnap.com"}]

在成功回調中記錄數據參數將顯示此信息...

[Object, each: function, eachSlice: function, all: function, any: function, collect: function…]
  0: Object
    $$hashKey: "004"
    email: "johndoe@infosnap.com"
    id: 2
    name: "John Doe"
    __proto__: Object
  length: 1
__proto__: Array[0]

夠好了。 看起來$ http已經將原始JSON反序列化為JavaScript對象。

接下來,我將數據分配給成功回調中的$ scope變量,以便在瀏覽器中執行一些調試...

$scope.debug = data;

現在,在我看來,我想將其顯示為漂亮的JSON以便進行調試。

<pre>{{debug | json}}</pre>

我明白了...

"[{\"id\": 2, \"name\": \"John Doe\", \"email\": \"johndoe@infosnap.com\", \"$$hashKey\": \"004\"}]"

我正在嘗試得到這樣的東西...

[
  {
    "id": 2,
    "name": "John Doe",
    "email": "johndoe@infosnap.com",
    "$$hashKey": "004"
  }
]

我也試圖在控制器中對javascript數組進行字符串化處理。

$scope.debug = JSON.stringify(data, true);

而不使用過濾器...

<pre>{{debug}}</pre>

但是我得到了相同的結果,除了$$ hashKey已被刪除...

"[{\"id\": 2, \"name\": \"John Doe\", \"email\": \"johndoe@infosnap.com\"}]"

如果我只是將數組中的第一項分配給$ scope,並使用json過濾器,則效果很好...

$scope.debug = data[0];

在我看來...

<pre>{{debug | json}}</pre>

結果是...

{
  "id": 2,
  "name": "John Doe",
  "email": "johndoe@infosnap.com"
}

我知道還有其他方法可以得到我想要的東西。 我只是想了解發生了什么。

謝謝!

您應該解析json而不是stringify。

嘗試這個:

$scope.debug = JSON.parse(data)

工作小提琴

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM