将JSON数据插入MYSQL的最佳方法

Rak*_*sh 2 java mysql json

我在一个包含纬度和经度对的文本文件中有一个JSON数据,现在我想将这些数据存储到MYSQL DB中,如何进行以及最好的方法请建议.

这是我的JSON数据

[{"latlon":{"lng":77.75124312,"lat":12.97123123},"type":"s"}, 
 {"latlon":{"lon":77.73004942455374,"lat":12.98227579706589},"type":"s"},
 {"latlon":{"lon":77.67374449291539,"lat":12.995490063545521},"type":"v"}, 
 {"latlon":{"lon":77.6097147993144,"lat":12.970900929013666},"type":"s"},
 {"latlon":{"lon":77.53933363476645,"lat":12.948316929346504},"type":"s"},
 {"latlon":{"lng":77.48213123,"lat":12.91213213},"type":"s"}
 .
 .
 .
 .
]
The String may go up to 50 points 
Run Code Online (Sandbox Code Playgroud)

Jon*_*eet 11

一些评论建议将其保留为JSON格式并将其存储在文本列中.

我建议如果你可以控制你的模式,你应该将它存储在两个NUMERIC字段中 - 一个用于纬度,一个用于经度.从根本上说,这就是你拥有的数据.您使用JSON作为容器格式接收它的事实与数据本身无关.

如果你把它存储为纬度和经度,那么查询它就更简单了,如果你想要的话,你仍然可以稍后重新创建JSON ......但是如果你最终想要获取它而不是 JSON,那么你将会是在更好的位置这样做.这也意味着你不会将自己与JSON联系起来以应对未来的变化.

就个人而言,我认为精神上将数据的内在本质与您收到数据的方式区分开来总是一个好主意.以适合该存储的任何格式存储数据 - 因此,如果要存储数字,请使用其中一种数字数据类型.如果您要存储日期和时间,请使用datetime等.这样,每次您想要访问它时,您最终都不会在数据本身之间添加额外的图层.

这种方法也意味着您更有可能在早期发现不良数据 - 如果您只是直接存储JSON而不首先解析它,您可以稍后发现纬度或经度不是有效数字.哎呀,你的样本数据有时候lon有时已经lng建议你应该做一些数据清理.