代码之家  ›  专栏  ›  技术社区  ›  Lars Hendriks

如何编辑大量的json对象?

  •  -3
  • Lars Hendriks  · 技术社区  · 8 年前
    [
        [{
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20170906
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20170921
            },
            "metrics": {
                "visits": 2
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20170929
            },
            " metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20171004
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20171010
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": " /",
                "date": 20171018
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20171020
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20171030
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linke din.com",
                "pagePath": "/",
                "date": 20171112
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20171123
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20180106
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensi ons": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20180119
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20180120
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20180124
            },
            "metrics": {
                " visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20180126
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20180209
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20180212
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20180216
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20180217
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "p agePath": "/",
                "date": 20180223
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "linkedin.com",
                "pagePath": "/",
                "date": 20180308
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": "lnkd.in",
                "pagePath": "/",
                "date": 20171007
            },
            "metrics": {
                "visits": 1
            }
        }, {
            "dimensions": {
                "source": " lnkd.in",
                "pagePath": "/",
                "date": 20171120
            },
            "metrics": {
                "visits": 1
            }
        }]
    ]
    

    我从多个源代码和页面中获得了10k+行这样的json,正如您在上面的虚构示例中看到的那样。

    我想要的结果是:

    {
        "dimensions": {
            "source": "linkedin.com",
            "pagePath": "/"
        },
        "metrics": [{
            "visits": 1,
            "date": 20171205
        }, {
            "visits": 10,
            "date": 20171205
        }, {
            "visits": 8,
            "date": 20171205
        }, {
            "visits": 6,
            "date": 20171205
        }, {
            "visits": 5,
            "date": 20171205
        }, {
            "visits": 3,
            "date": 20171205
        }]
    }
    

    2 回复  |  直到 8 年前
        1
  •  1
  •   David R    8 年前

    Array.filter 这样地,

    var filtered_result = jsonObj.filter(function (item, index) {
      return item[index].dimensions.source == 'linkedin.com'
    });
    

    希望这有帮助!

        2
  •  2
  •   md.warish Ansari    8 年前

    可以使用Array.filter方法

     var result =  jsonObject.filter(item => {
       return item.dimensions.source == 'linkedin.com' //any condtion you can give
     })
    
    推荐文章