Java解析txt檔案中json資料到List,並存入資料庫
阿新 • • 發佈:2019-02-07
- 背景:存在一個txt檔案,內容為json資料,格式如下(不是一行一條資料):
[{"name":"job","age":39,"occupation":"doctor"},{"name":"tom","age":30,"occupation":"teacher"}{"name":"sha","age":32,"occupation":"student"}]
- 需求:將txt檔案中json資料取出,存入資料庫
- 實現:使用Jackson,取出txt中json資料,存為List<實體>,然後讀入資料庫
- 環境框架:IDEA+Spring boot
- 依賴包:import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
/**返回entity,上一行改為:
* txtFilePath是txt檔案的完整路徑
* 直接讀取的txt資料到jsonData
* OrderInfoBatch是我的實體類
*/
private List<OrderInfoBatch> getTxtDateList(String fileName)throws IOException{
String txtFilePath = PATH+"\\"+fileName;
Path path = Paths.get(txtFilePath);
byte[] jsonData = Files.readAllBytes(Paths.get(String.valueOf(path)));
ObjectMapper mapper = new ObjectMapper();
List<OrderInfoBatch> orderInfoBatchList = mapper.readValue(jsonData,new TypeReference<List<OrderInfoBatch>>() { });
/**返回entity,上一行改為:
* OrderInfoBatch orderInfoBatch = objectMapper.readValue(jsonData, OrderInfoBatch.class);
*/
return orderInfoBatchList;
}
- 獲取到物件的List了,就可以採用Jpa或者Jdbc去存入資料庫了 -