直接以json字元串像寫其他普通字元串一樣存到資料庫就行了。沒什麼區別,只要選的資料庫數據類型正確就可以
2. php存入資料庫 如何將json格式的數據直接存入mysql資料庫
把json字元串存入資料庫,如果資料庫裡面存儲的欄位是字元串類型或者text的話是可以直接存入的。
例如:
$sql="insertintotablename(fieldname)values('$jsondata')";
mysql_query($sql);
這樣就好了。
3. 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;
}
將獲取到的字元串,入庫即可。
4. 如何把獲取的json數據插入資料庫
直接varchar或者text之類的類來型即可插入自。在Mysql5.7或以上可以支持JSON數據類型。其他的資料庫你可以參考他的不同版本,考慮是否支持JSON數據類型,如果不支持就用字元串類型。但是要考慮長度。
PS:如果是用客戶端鏈接,那麼就算資料庫支持,那客戶端也得是最新版支持JSON的,要不然資料庫支持,工具以為不支持!