簡體   English   中英

如何對 JSON 響應應用過濾器?

[英]How to apply filter on JSON response?

我收到 JSON 響應如下:-

{
   "links":{
      "self":"https://xyz/v1/test/1/attributes"
   },
   "data":[
      {
         "type":"tenantFields",
         "id":1,
         "attributes":{
            "field_name":"firstName",
            "is_required":false,
            "is_sync_enabled":true
         },
         "relationships":{

         },
         "links":{
            "self":"https://xyz/v1/test/1/attributes/1"
         }
      },
      {
         "type":"tenantFields",
         "id":2,
         "attributes":{
            "field_name":"lastName",
            "is_required":false,
            "is_sync_enabled":true
         },
         "relationships":{

         },
         "links":{
            "self":"https://xyz/v1/test/1/attributes/2"
         }
      },
      {
         "type":"tenantFields",
         "id":3,
         "attributes":{
            "field_name":"userTitle",
            "is_required":false,
            "is_sync_enabled":false
         },
         "relationships":{

         },
         "links":{
            "self":"https://xyz/v1/test/1/attributes/3"
         }
      }
   ],
   "included":[

   ]
}

在執行任何操作之前,我需要將基於is_sync_enabled的過濾器應用為true (從 is_sync_enabled 值為 false 的數組中忽略所有),然后從過濾的 JSON 數據中僅讀取field_name屬性值。

請推薦,謝謝

您可以使用Array.filterArray.map的組合來獲得所需的 output。

我們將使用 Array.filter 來獲取所需的元素,尋找那些具有屬性具有 .is_sync_enabled 屬性集的屬性。

然后我們可以使用 Array.map 來選擇 attributes.field_name 屬性。

 let input = { "links":{ "self":"https://xyz/v1/test/1/attributes" }, "data":[ { "type":"tenantFields", "id":1, "attributes":{ "field_name":"firstName", "is_required":false, "is_sync_enabled":true }, "relationships":{ }, "links":{ "self":"https://xyz/v1/test/1/attributes/1" } }, { "type":"tenantFields", "id":2, "attributes":{ "field_name":"lastName", "is_required":false, "is_sync_enabled":true }, "relationships":{ }, "links":{ "self":"https://xyz/v1/test/1/attributes/2" } }, { "type":"tenantFields", "id":3, "attributes":{ "field_name":"userTitle", "is_required":false, "is_sync_enabled":false }, "relationships":{ }, "links":{ "self":"https://xyz/v1/test/1/attributes/3" } } ], "included":[ ] }; let output = input.data.filter(element => { return (element.attributes && element.attributes.is_sync_enabled); }).map(element => { return element.attributes.field_name; }); console.log("Output:", output);

暫無
暫無

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

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