
问题来源,作者使用 Golang 实现的一款通用型 JSON 数据提取工具,支持自动识别 JSON 数据节点并有序提取为 CSV 文件。
看到评论回复说 html 单文件,自带 UI....
功能已实现,界面缺少美化,但小巧,分析给需要的朋友
数据路径:设置 Json 中数据所处路径,如'root.topics.data' 'data.items' ...
字段解析:为空则为全量解析,自动识别字段头。可自定义 排序、映射、按需导出 csv 文件。
添加 csv 头:选择框 csv 第一行是否包含字段信息。
{"data":{"items":[{"title":"one","price":23},{"title":"two","price":92},{"title":"three","price":5623}]}} {"data":{"items":{"1":{"title":"one","name":"test1"},"2":{"title":"two","name":"test2"},"3":{"title":"three","name":"test3"}}}} 数据位于"data.items"多级节点下,则填写 [数据路径] ,如data.items
本地测试,秒级处理 20M json 文件,Chrome 版本 114.0.5735.134
使用JS 动态创建函数,会遇到和 eval() 类似的的安全问题和(相对较小的)性能问题。与 eval() 不同的是,Function 构造函数创建的函数只能在全局作用域中运行。 MDN Function介绍
1.{title: "two", 'price': 92} 2.{data: {items: [{title: "one",price: 23},{title: "two", 'price': 92}]}} /** * 使用动态函数实现 * @param str * @returns {null|*} */ function parseJson2(str) { try { return new Function('"use strict"; return '+str)(); } catch (e) { console.warn("解析处理失败", e); return null; } } 支持多个 api地址发起Ajax get请求处理数据。(注:跨域请求需关闭 浏览器同源策略)
1 faketemp 2023 年 6 月 26 日 via iPhone 继续 不要停 卷起来 bros)o |
3 haoxuexiaoyao 2023 年 6 月 27 日 有没有循环网页 json 链接转换的方式 |
4 9yue OP @haoxuexiaoyao 会 html js 的话,通过 ajax 请求 连接,拿到 json 数据,使用此工具的 JS 方法 很简单就可以实现此功能。 |
5 haoxuexiaoyao 2023 年 6 月 27 日 有没有 python 里面这样类似好用的 哈哈 经常用 python 处理 有的挺麻烦处理 |
6 9yue OP @haoxuexiaoyao 我可以稍后在这上面 加上你说的功能。python 处理这种数据,能自己会编码 也是 so easy, 不然就看 能否 找到现成的轮子。 |
7 wxf666 2023 年 7 月 6 日 这个 json 转换不对呀: ```json [{"a": 1, "b": [2, 3, 4]}, {"a": 5, "c": 6}] ``` 有两个问题: 1. 第一行的 b 数组消失了,变成了 2 2. 第二行的 c 没有解析 |