找回密码
 立即注册

QQ登录

只需一步,快速开始

qsy_2021

中级会员

51

主题

188

帖子

849

积分

中级会员

积分
849
qsy_2021
中级会员   /  发表于:2024-11-11 12:07  /   查看:127  /  回复:8
100金币
哪位大佬能把这个json数据帮我导入到数据库中,不胜感激。这个json是2024年1月份更新的,有需要的也可以拿去,很有用。

导入到活字格自带的数据库中,把demo发过来就可以了。谢谢大家的帮助。

附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

将原本SQL中的where条件去掉就是保存所有节点的数据。

8 个回复

倒序浏览
最佳答案
最佳答案
二麻子
初级会员   /  发表于:4 天前
来自 7#
qsy_2021 发表于 2024-11-12 11:16
希望解析出全球的国家地址,感谢您。json数据的所有内容都存进去。

将原本SQL中的where条件去掉就是保存所有节点的数据。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1满意度 +5 收起 理由
qsy_2021 + 5

查看全部评分

回复 使用道具 举报
二麻子
初级会员   /  发表于:4 天前
2#


数据库结构



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
qsy_2021
中级会员   /  发表于:4 天前
3#
本帖最后由 qsy_2021 于 2024-11-11 20:46 编辑

有10.0.5版本吗?而且内容只用中国,你给我发的demo没有上传那个入口,就是js的部分,递归的吗?
回复 使用道具 举报
二麻子
初级会员   /  发表于:3 天前
4#
本帖最后由 二麻子 于 2024-11-12 08:32 编辑

上传文件的入口是用JS代码生成的,这里只是将文件解析成JSON数据放到名为page_Data的单元格中。

  1. const uploadButton = document.createElement('input');
  2. uploadButton.type = 'file';
  3. uploadButton.accept = '.json';
  4. uploadButton.style.position = 'fixed';
  5. uploadButton.style.top = '20px';
  6. uploadButton.style.right = '20px';
  7. uploadButton.style.zIndex = '1000'; // 保证按钮在最前面显示
  8. uploadButton.id = 'jsonUploadButton';

  9. // 创建文件上传按钮
  10. document.body.appendChild(uploadButton);

  11. uploadButton.addEventListener('change', (event) => {
  12.     const file = event.target.files[0];
  13.     if (file) {
  14.         parseJSONFile(file);
  15.     }
  16. });

  17. /**
  18. * 解析 JSON 文件
  19. */
  20. function parseJSONFile(file) {
  21.     if (file.type === 'application/json' || file.name.endsWith('.json')) {
  22.         const reader = new FileReader();

  23.         reader.onload = function(e) {
  24.             try {
  25.                 const jsonData = JSON.parse(e.target.result);
  26.                 Forguncy.Page.getCell("page_Data").setValue(jsonData);        
  27.             } catch (error) {
  28.                 console.error('解析错误:', error);
  29.             }
  30.         };

  31.         reader.readAsText(file);
  32.     }
  33. }
复制代码


将单元格内的数据提交到服务端用SQL做递归解析
  1. WITH RECURSIVE parsed_json(id, name, pid, json_data) AS (
  2.     -- 根节点 (只解析 "中国")
  3.     SELECT
  4.         json_extract(value, '$.id') AS id,
  5.         json_extract(value, '$.name') AS name,
  6.         NULL AS pid,
  7.         json_extract(value, '$.response_data') AS json_data
  8.     FROM
  9.         json_each(@Data)
  10.     WHERE json_extract(value, '$.name') = '中国'  -- 仅解析 "中国" 节点

  11.     UNION ALL

  12.     -- 子节点
  13.     SELECT
  14.         json_extract(value, '$.id') AS id,
  15.         json_extract(value, '$.name') AS name,
  16.         parsed_json.id AS pid,
  17.         json_extract(value, '$.response_data') AS json_data
  18.     FROM
  19.         parsed_json,
  20.         json_each(parsed_json.json_data)
  21. )

  22. -- 将结果插入到数据表1
  23. INSERT INTO 数据表1 (id, name, pid)
  24. SELECT id, name, pid FROM parsed_json;
复制代码



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x

评分

参与人数 1金币 +5 收起 理由
Joe.xu + 5 很给力!

查看全部评分

回复 使用道具 举报
qsy_2021
中级会员   /  发表于:3 天前
5#
二麻子 发表于 2024-11-12 08:30
上传文件的入口是用JS代码生成的,这里只是将文件解析成JSON数据放到名为page_Data的单元格中。[/backcolor ...

希望解析出全球的国家地址,感谢您。json数据的所有内容都存进去。
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:3 天前
6#
二麻子 发表于 2024-11-12 08:30
上传文件的入口是用JS代码生成的,这里只是将文件解析成JSON数据放到名为page_Data的单元格中。[/backcolor ...

回复 使用道具 举报
qsy_2021
中级会员   /  发表于:3 天前
8#
二麻子 发表于 2024-11-11 12:07
将原本SQL中的where条件去掉就是保存所有节点的数据。

感谢你,帮了我大忙了。
回复 使用道具 举报
Joe.xu讲师达人认证 悬赏达人认证 活字格认证
超级版主   /  发表于:前天 09:38
9#
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部