【发布时间】:2017-08-07 22:01:17
【问题描述】:
我目前遇到了将数据动态导入MySQL 数据库的需求(但使用java)。
我不确定对此的最佳做法是什么,但让我提出我的方案。
json 可以是动态的,并且每次我从 API 端点读取时,它都不确定 json 中的内容 例如:
"table1" : {
"field1" : "value1",
"field2" : "value2",
"field3" : "value3"
}
有一次json会是这样的
其他时候可能是这样的
"table2" : {
"field1" : "value1",
"field2" : "value2",
"field3" : "value3",
"field4" : "value4"
}
所以我的问题是我应该解析 json 并将其与表中与 json 名称匹配的字段进行比较吗?
或者是否有任何 java 中可用的库可以让我轻松有效地处理这个问题。
注意:我必须将此准备为一项服务,该服务将在一定间隔后持续扫描给定的 API,并且相应的 JSON 需要导入到它所属的表中,如果该表没有不存在,那么它必须自动创建。
感谢大家的耐心阅读和支持,这是我从未处理过的新需求。
提前感谢您!
【问题讨论】:
-
IMO 似乎不是一个好的做法。确保 json 提供正确的表名。然后收集表元数据以获取键并根据可用值生成插入列表(如果每个表都有自己的验证器,也更容易选择正确的验证器。)。如果它无效,那就太糟糕了。相应地报告。
-
是的@KarelG 这不是一个好处理的场景,但数据来自旧应用程序,我无权更改 json API。 Validator 似乎是一个很好的解决方案,但是表名和模式是不确定的,这意味着 json 文件中可能会有新表,如果它不存在我们必须生成表,是否有任何替代的最佳实践?非常感谢!!
标签: java mysql json parsing jdbc