付费找人解析一个无限嵌套的json

vus520 · · 5737 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

json是elasticsearch响应的内容,有多个aggregation就会有多级buckets,数据字段无法提前预知。 ```json { "took": 596, "timed_out": false, "_shards": { "total": 11, "successful": 11, "failed": 0 }, "hits": { "total": 1121497, "max_score": 0, "hits": [] }, "aggregations": { "day.raw": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "key": "20170418", "doc_count": 1121497, "channel.raw": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "key": "channel01", "doc_count": 901649, "acttype.raw": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "key": "show", "doc_count": 424711, "ct": { "value": 143760 } }, { "key": "click", "doc_count": 253006, "ct": { "value": 114883 } }, { "key": "install", "doc_count": 139527, "ct": { "value": 68115 } }, { "key": "installed", "doc_count": 84405, "ct": { "value": 49037 } } ] } }, { "key": "channel02", "doc_count": 107639, "acttype.raw": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "key": "show", "doc_count": 50364, "ct": { "value": 17019 } }, { "key": "click", "doc_count": 32334, "ct": { "value": 14123 } }, { "key": "install", "doc_count": 19891, "ct": { "value": 9259 } }, { "key": "installed", "doc_count": 5050, "ct": { "value": 2922 } } ] } }, { "key": "channel03", "doc_count": 69671, "acttype.raw": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "key": "show", "doc_count": 26617, "ct": { "value": 8229 } }, { "key": "click", "doc_count": 22793, "ct": { "value": 7812 } }, { "key": "install", "doc_count": 19919, "ct": { "value": 6165 } }, { "key": "installed", "doc_count": 342, "ct": { "value": 290 } } ] } }, { "key": "channel04", "doc_count": 42511, "acttype.raw": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "key": "show", "doc_count": 22565, "ct": { "value": 8044 } }, { "key": "click", "doc_count": 11601, "ct": { "value": 5890 } }, { "key": "install", "doc_count": 7208, "ct": { "value": 3802 } }, { "key": "installed", "doc_count": 1137, "ct": { "value": 761 } } ] } }, { "key": "channel05", "doc_count": 27, "acttype.raw": { "doc_count_error_upper_bound": 0, "sum_other_doc_count": 0, "buckets": [ { "key": "show", "doc_count": 20, "ct": { "value": 7 } }, { "key": "click", "doc_count": 7, "ct": { "value": 2 } } ] } } ] } } ] } } } ``` 最终能解析成二维数组,输出表格。 如 ``` +--------------+-----------+----+----+ | day | channel| acttype | ct | +--------------+-----------+----+----+ | cloudmonitor | * | 1 | 1 | | mysql.sys | localhost | 1 | 1 | | root | 192.% | 1 | 1 | | root | localhost | 1 | 1 | +--------------+-----------+----+ 4 rows in set (0.00 sec) ```

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

5737 次点击  
加入收藏 微博
35 回复  |  直到 2017-09-25 07:17:56
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传