【发布时间】:2013-12-09 16:32:01
【问题描述】:
我正在做一些可视化,需要合并某些 json 条目。
问题是,被调用的 json 文件有点混乱。某些条目需要合并,而其他条目应保持不变。
我得到的json是这样的:
[
{
"label": "de",
"visits": 80,
},
{
"label": "fr",
"visits": 80,
},
{
"label": "/de",
"visits": 80,
},
{
"label": "/fr",
"visits": 80,
},
{
"label": "Aktuell",
"visits": 80,
},
{
"label": "fr/Aktuell",
"visits": 80,
},
{
"label": "index",
"visits": 80,
}
]
我需要的是:
[
{
"label": "de",
"visits": 160,
},
{
"label": "fr",
"visits": 160,
},
{
"label": "Aktuell",
"visits": 160,
},
{
"label": "index",
"visits": 80,
}
]
标签为“de”和“/de”以及“fr”和“/fr”或“fr/Aktuell”和“Aktuell”的条目需要合并,而其他条目应保持相同,如“索引”。
有没有办法使用 d3 做到这一点? 我想只使用javascript我必须获取json文件,然后搜索条目,创建一个新条目并将数字相加然后获取原始json,删除这些条目并添加新条目......虽然我也也不知道该怎么做。
这也不是最好的解决方案,因为我必须生成第二个必须处理的对象并减慢整个系统的速度。我们已经遇到了性能问题,我不想制造新的瓶颈。
另一个问题是,我需要能够扩展应该合并的条目列表...
有没有一种快速简单的方法来做到这一点?
我知道这似乎是一个“嘿,我太懒了,为我做”的帖子。 我可以向你保证不是。它更像是一个“我搜索过、阅读过、尝试过、发誓并哭过。现在我正在向专业人士寻求帮助”的帖子。
更新:
我不想只过滤“/”的最后一部分。这只是一个例子。过滤器会让我更喜欢:将所有 [en,EN,/en,english,anglais] 与标签 en 组合在一起。还将所有 [de, DE, /de, deutsch, German] 与标签 de 组合为一个。保留所有其他未合并的内容。
【问题讨论】:
标签: javascript json d3.js