json導入資料庫
① JSON格式的數據集如何導入到資料庫中
JSON格式的放資料庫里很不方便,為什麼要這么做?如果非要存JSON的話,把JSON對象轉換為字元串,存到欄位類型為blob、text之類的欄位裡面
② 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如何導入mysql資料庫我要代碼,謝謝各位大佬了
解析json字元串,定義一個dto對象,欄位名和類型和json裡面一致,然後用jdbc連接資料庫,insert into插入表中,代碼自己寫吧,沒時間幫你寫
④ 如何將json數據文件導入mysql
:將外部數據導入(import)資料庫是在資料庫應用中一個很常見的需求。其實這就是在數據的管理和操作中的ETL (Extract, transform, load)的L (Load)部分,也就是說,將特定結構(structure)或者格式(format)的數據導入某個目的地(比如資料庫
⑤ 怎麼將JSON文件傳入sqlite資料庫中呢
將json對象的鍵值對。
轉化為 ContentValues 對象中的鍵值對(鍵為表中的欄位名)。
然後插入資料庫就可以了。
dbManager.insert(TABLENAME, null, values);
⑥ 如何將從api介面獲取的json數據導入到MySQL中呢
這要看你的需求,是直接把返回的json插入資料庫,還是解析後按照記錄插入
如果是解析json在插入,找到你使用編程語言的解析庫就可以了
祝好運,望採納
⑦ json對象怎麼插入資料庫
首先把json對象轉換成和資料庫映射的實體對象在後在save()就ok。
⑧ 如何將 JSON,Text,XML,CSV 數據文件導入 MySQL
將外部數據導入(import)資料庫是在資料庫應用中一個很常見的需求。其實這就是在數據的管理和操作中的ETL
(Extract,
transform,
load)的L
(Load)部分,也就是說,將特定結構(structure)或者格式(format)的數據導入某個目的地(比如資料庫,這里我們討論MySQL)。
ETL
Process
本文要討論的內容,是如何方便地將多種格式(JSON,
Text,
XML,
CSV)的數據導入MySQL之中。
本文大綱:
將Text文件(包括CSV文件)導入MySQL
將XML文件導入MySQL
將JSON文件導入MySQL
使用MySQL
workbench的Table
Data
Export
and
Import
Wizard進行JSON或CSV文件的導入導出
1.
將Text文件(包括CSV文件)導入MySQL
這里我們的討論是基於一個假定,Text
file和CSV
file是有著比較規范的格式的(properly
formatted),比如說每行的每個數據域(field)之間是由一個共同的分隔符(比如tab:
\t)分隔的。
那麼首先,你需要根據你的數據的格式(有哪些域),來設計好資料庫的對應的表
(的Schema)。
舉個例子,要處理的Text文件或者CSV文件是以\t作為分隔符的,每行有id,
name,
balance這么三個數據域,那麼首先我們需要在資料庫中創建這個表:
CREATE
TABLE
sometable(id
INT,
name
VARCHAR(255),
balance
DECIMAL(8,4));
創建成功以後就可以導入了。操作方式很簡單:
LOAD
DATA
LOCAL
INFILE
'你的文件路徑(如~/file.csv)'
INTO
TABLE
sometable
FIELDS
TERMINATED
BY
'\t'
[ENCLOSED
BY
'"'(可選)]
LINES
TERMINATED
BY
'\n'
(id,
name,
balance)
這里要注意的是,我們需要開啟local-infile這個MySQL的配置參數,才能夠成功導入。究其原因,從MySQL的Manual中可以看到這么一段話:
LOCAL
works
only
if
your
server
and
your
client
both
have
been
configured
to
permit
it.
For
example,
if
mysqld
was
started
with
--local-infile=0,
LOCAL
does
not
work.
See
Section
6.1.6,
「Security
Issues
with
LOAD
DATA
LOCAL」.
⑨ 如何把獲取的json數據插入資料庫
直接varchar或者text之類的類型即可插入。在Mysql5.7或以上可以支持JSON數據類型。其他的資料庫你可以參考他的不同版本,考慮是否支持JSON數據類型,如果不支持就用字元串類型。但是要考慮長度。
PS:如果是用客戶端鏈接,那麼就算資料庫支持,那客戶端也得是最新版支持JSON的,要不然資料庫支持,工具以為不支持!
⑩ 收到的JSON數據,怎麼批量插入到資料庫
.net 環境 調用 Newtown.Json 類庫,自己建立符合json對象格式的json屬性聲明,然後反序列化。把獲得的具體對應列、值改寫成SQL語言 在調用資料庫類庫中 執行這些SQL語句;
.net類庫 可以更便捷的調用EntityFramework 直接將對象寫入資料庫
php環境需要json_decode()轉為對象或數組 再取回具體值 改寫為SQL語句,然後執行這些SQL