使用angular 4过滤器过滤JSON数据

时间:2018-07-06 09:53:08

标签: angular

我正在以以下方式使用http从本地JSON文件中获取内容(数据),

 getIssuerTestCases(totalPage) { 
        // console.log(formdata);
        const searchurl = `assets/data/issuer_test_cases.json`;

        return this.http.get(searchurl, {}).map(
           result => {
               console.log(result.json());
               return result.json();
           },
        );
        // .filter(result => (result.content.initiated_by).sessionStorage.getItem('initiatedby') > -1);
      }

我想根据用户角色过滤JSON内容。如果用户角色是issuer,则我只想获取“ 发布者”数据。谁能帮忙过滤数组。

 {

    "content": [
        {
            "testcase": "PREQ_001 - Payment request",
            "iterationcount": "COMFORT",
            "test_case_id": "PREQ_001",
            "initiated_by": ["issuer"]
        },
        {
            "testcase": "PREV_002 - Payment reversal",
            "iterationcount": "COMFORT",
            "test_case_id": "PREV_002",
            "initiated_by": ["issuer", "acquirer"]
        },
       {
            "testcase": "PREV_0 - Payment reversal",
            "iterationcount": "COMFORT",
            "test_case_id": "PREV_0",
            "initiated_by": ["CDF"]
        },

   ]
}

3 个答案:

答案 0 :(得分:2)

您可以尝试使用此解决方案。

console.log(result.json());
let jsonData= result.json();
return jsonData.content.filter(data => data.initiated_by.indexOf("issuer") > -1)

答案 1 :(得分:0)

请尝试

Delimiter //  
CREATE TRIGGER upd_check AFTER UPDATE ON orders_foods
    FOR EACH ROW
    BEGIN
       IF (new.status= 1 and old.order_id=new.order_id) THEN
         update  orders 
         set status= 1
         where id=old.order_id;
       END IF;
    END;
//
Delimiter ;

代替书籍但是我们的数据

答案 2 :(得分:0)

使用可以检查 initiated_by 数组中的发行人的索引,并进行过滤(如果存在)。

示例代码:

return result.json().content.filter(item => ids.indexOf("issuer") !== -1);