将 SQL 转储转换为 JSON?

问题描述 投票:0回答:2

我有一个来自 MediaWiki 的 SQL 转储,我想将其导出为 JSON - 我尝试了不同的方法,但似乎找不到任何解决方案。 sql 文件如下所示:

DROP TABLE IF EXISTS `geo_tags`;
/*!40101 SET @saved_cs_client     = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `geo_tags` (
  `gt_id` int(10) unsigned NOT NULL AUTO_INCREMENT,
  `gt_page_id` int(10) unsigned NOT NULL,
  `gt_globe` varbinary(32) NOT NULL,
  `gt_primary` tinyint(1) NOT NULL,
  `gt_lat` decimal(11,8) DEFAULT NULL,
  `gt_lon` decimal(11,8) DEFAULT NULL,
  `gt_dim` int(11) DEFAULT NULL,
  `gt_type` varbinary(32) DEFAULT NULL,
  `gt_name` varbinary(255) DEFAULT NULL,
  `gt_country` binary(2) DEFAULT NULL,
  `gt_region` varbinary(3) DEFAULT NULL,
  PRIMARY KEY (`gt_id`),
  KEY `gt_page_primary` (`gt_page_id`,`gt_primary`),
  KEY `gt_page_id_id` (`gt_page_id`,`gt_id`)
) ENGINE=InnoDB AUTO_INCREMENT=4507036 DEFAULT CHARSET=binary ROW_FORMAT=DYNAMIC;

后面是几行 INSERT INTO

INSERT INTO `geo_tags` VALUES (3,487781,'earth',1,59.00000000,10.00000000,1000,NULL,NULL,NULL,NULL)

每当我尝试将 sql 文件导入 SQL 时,什么也没有发生。有没有简单的解决方案可以将我的数据转换为 JSON?

mysql sql sql-server json mediawiki
2个回答
7
投票

作为答案发布,因为我无法在评论中发布图像。 http://www.csvjson.com/sql2json 似乎可以很好地处理几行。也许它有一些限制?

您要插入多少条记录?

更新 Rockstar Martin Drapeau,csvjson.com 背后的人,刚刚实现了我的功能请求,所以现在 mysqldump INSERT 语法将在他的网站上运行。尝试一下这里


0
投票

您可以使用命令行工具代替 Web 服务:

# or install via pip
$ pipx install sqldump2json

# each insert statement converts to json object (JSONL)
$ sqldump2json -i testdata/dump.sql
{"table_name": "actor", "values": [1, "PENELOPE", "GUINESS", "2006-02-15 04:34:33"]}
{"table_name": "actor", "values": [2, "NICK", "WAHLBERG", "2006-02-15 04:34:33"]}
{"table_name": "actor", "values": [3, "ED", "CHASE", "2006-02-15 04:34:33"]}
...

# use jq to process json lines
$ sqldump2json -i testdata/dump.sql | jq -r 'select(.table_name == "actor").values | @tsv'
1       PENELOPE        GUINESS 2006-02-15 04:34:33
2       NICK    WAHLBERG        2006-02-15 04:34:33
3       ED      CHASE   2006-02-15 04:34:33
© www.soinside.com 2019 - 2024. All rights reserved.