本文目錄一覽:
- 1、json文件可以直接導入數據庫嗎
- 2、json對象怎麼插入數據庫
- 3、如何將json數據轉化為數據庫文件
- 4、收到的JSON數據,怎麼批量插入到數據庫
- 5、(java)解析json文件然後存入數據庫,幫一下忙啊,大神
- 6、現在要把json中data數據取出來,映射到實體上,通過jdbc批量插入數據庫,這個通用代碼怎麼寫?
json文件可以直接導入數據庫嗎
直接讀寫文件,再把讀出來的文件內容格式化成json,再用JDBC、Mybatis或者其他框架將json數據存入數據庫。
假設實體類是這樣的:
public class ElectSet {
public String xueqi;
public String xuenian;
public String startTime;
public String endTime;
public int menshu;
public String isReadDB;
//{“xueqi”:,”xuenian”:,”startTime”:,”endTime”:,”renshu”:,”isReadDB”:}
public String getXueqi() {
return xueqi;
}
public void setXueqi(String xueqi) {
this.xueqi = xueqi;
}
public String getXuenian() {
return xuenian;
}
public void setXuenian(String xuenian) {
this.xuenian = xuenian;
}
public String getStartTime() {
return startTime;
}
public void setStartTime(String startTime) {
this.startTime = startTime;
}
public String getEndTime() {
return endTime;
}
public void setEndTime(String endTime) {
this.endTime = endTime;
}
public int getMenshu() {
return menshu;
}
public void setMenshu(int menshu) {
this.menshu = menshu;
}
public String getIsReadDB() {
return isReadDB;
}
public void setIsReadDB(String isReadDB) {
this.isReadDB = isReadDB;
}
}
有一個json格式的文件,存的信息如下:
Sets.json:
{“xuenian”:”2007-2008″,”xueqi”:”1″,”startTime”:”2009-07-19 08:30″,”endTime”:”2009-07-22 18:00″,”menshu”:”10″,”isReadDB”:”Y”}
具體操作:
/*
* 取出文件內容,填充對象
*/
public ElectSet findElectSet(String path){
ElectSet electset=new ElectSet();
String sets=ReadFile(path);//獲得json文件的內容
JSONObject jo=JSONObject.fromObject(sets);//格式化成json對象
//System.out.println(“————” jo);
//String name = jo.getString(“xuenian”);
//System.out.println(name);
electset.setXueqi(jo.getString(“xueqi”));
electset.setXuenian(jo.getString(“xuenian”));
electset.setStartTime(jo.getString(“startTime”));
electset.setEndTime(jo.getString(“endTime”));
electset.setMenshu(jo.getInt(“menshu”));
electset.setIsReadDB(jo.getString(“isReadDB”));
return electset;
}
//設置屬性,並保存
public boolean setElect(String path,String sets){
try {
writeFile(path,sets);
return true;
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
return false;
}
}
//讀文件,返回字符串
public String ReadFile(String path){
File file = new File(path);
BufferedReader reader = null;
String laststr = “”;
try {
//System.out.println(“以行為單位讀取文件內容,一次讀一整行:”);
reader = new BufferedReader(new FileReader(file));
String tempString = null;
int line = 1;
//一次讀入一行,直到讀入null為文件結束
while ((tempString = reader.readLine()) != null) {
//顯示行號
System.out.println(“line ” line “: ” tempString);
laststr = laststr tempString;
line ;
}
reader.close();
} catch (IOException e) {
e.printStackTrace();
} finally {
if (reader != null) {
try {
reader.close();
} catch (IOException e1) {
}
}
}
return laststr;
}
將獲取到的字符串,入庫即可。
json對象怎麼插入數據庫
直接將對應的json轉成string類型存進去,讀取出來就再轉成json對象,如果需要加密也就是對string做加密,讀出來再解密再轉成原先的json對象
如何將json數據轉化為數據庫文件
從json數組中得到java數組,可以對該數組進行轉化,如將JSONArray轉化為String型、Long型、Double型、Integer型、Date型等等。
分別採用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法。
同樣,如果要獲取java數組中的元素,只需要遍歷該數組。
Java代碼 收藏代碼
/**
* 將json數組轉化為Long型
* @param str
* @return
*/
public static Long[] getJsonToLongArray(String str) {
JSONArray jsonArray = JSONArray.fromObject(str);
Long[] arr=new Long[jsonArray.size()];
for(int i=0;ijsonArray.size();i++){
arr[i]=jsonArray.getLong(i);
System.out.println(arr[i]);
}
return arr;
}
/**
* 將json數組轉化為String型
* @param str
* @return
*/
public static String[] getJsonToStringArray(String str) {
JSONArray jsonArray = JSONArray.fromObject(str);
String[] arr=new String[jsonArray.size()];
for(int i=0;ijsonArray.size();i++){
arr[i]=jsonArray.getString(i);
System.out.println(arr[i]);
}
return arr;
}
/**
* 將json數組轉化為Double型
* @param str
* @return
*/
public static Double[] getJsonToDoubleArray(String str) {
JSONArray jsonArray = JSONArray.fromObject(str);
Double[] arr=new Double[jsonArray.size()];
for(int i=0;ijsonArray.size();i++){
arr[i]=jsonArray.getDouble(i);
}
return arr;
}
/**
* 將json數組轉化為Date型
* @param str
* @return
*/
public static Date[] getJsonToDateArray(String jsonString) {
JSONArray jsonArray = JSONArray.fromObject(jsonString);
Date[] dateArray = new Date[jsonArray.size()];
String dateString;
Date date;
SimpleDateFormat sdf=new SimpleDateFormat(“yyyy-MM-dd”);
for (int i = 0; i jsonArray.size(); i++) {
dateString = jsonArray.getString(i);
try {
date=sdf.parse(dateString);
dateArray[i] = date;
} catch (Exception e) {
e.printStackTrace();
}
}
return dateArray;
}
public static void main(String[] args) {
JSONArray jsonLongs = new JSONArray();
jsonLongs.add(0, “111”);
jsonLongs.add(1, “222.25”);
jsonLongs.add(2, new Long(333));
jsonLongs.add(3, 444);
Long[] log=getJsonToLongArray(jsonLongs.toString());
for(int i=0;ilog.length;i++){
System.out.println(log[i]);
}
JSONArray jsonStrs = new JSONArray();
jsonStrs.add(0, “2011-01-01”);
jsonStrs.add(1, “2011-01-03”);
jsonStrs.add(2, “2011-01-04 11:11:11”);
Date[] d=getJsonToDateArray(jsonStrs.toString());
for(int i=0;id.length;i++){
System.out.println(d[i]);
}
}
/*結果如下:
* 111
* 222
* 333
* 444
*
* Sat Jan 01 00:00:00 CST 2011
* Mon Jan 03 00:00:00 CST 2011
* Tue Jan 04 00:00:00 CST 2011
*/
收到的JSON數據,怎麼批量插入到數據庫
.net 環境 調用 Newtown.Json 類庫,自己建立符合json對象格式的json屬性聲明,然後反序列化。把獲得的具體對應列、值改寫成SQL語言 在調用數據庫類庫中 執行這些SQL語句;
.net類庫 可以更便捷的調用EntityFramework 直接將對象寫入數據庫
php環境需要json_decode()轉為對象或數組 再取回具體值 改寫為SQL語句,然後執行這些SQL
(java)解析json文件然後存入數據庫,幫一下忙啊,大神
你定義一個對應屬性的的vo類,對應數據庫表的字段。然後用json解析工具解析,屬性存到對應的VO類里。
現在要把json中data數據取出來,映射到實體上,通過jdbc批量插入數據庫,這個通用代碼怎麼寫?
json是一個String,格式是[{},{},{}]。你可以用String的方法來獲取值。首先,按照逗號把json數組劃分為String數組。轉化後是[{},{},{}] 再按照逗號把字段值取出為String數組。例子如下:
[{id:”1″,name:”xyz”},{id:”2″,name:”abc”}]
String [] 數組1 = {id:”1″,name:”xyz”}+{id:”2″,name:”abc”}
String [] id1 = {“1″,”xyz”}
String [] id2 = {“2″,”abc”}
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/199165.html