一種json格式文本導入數據庫的方法【專利摘要】本發明公開了一種JSON格式文本導入數據庫的方法,其實現過程為:首先查找需要轉換的JSON文本文件,并將查找到的JSON文本文件轉換成sql語句,然后在數據庫中建立與該sql語句表相對應的數據庫表,并將數據寫入到數據庫中。該一種JSON格式文本導入數據庫的方法與現有技術相比,本發明可以適用于不同的數據庫場景,既節省了人力,又提高工作效率,為統計信息的工作提供一種快速可執行的方法,實用性強,易于推廣。【專利說明】一種JSON格式文本導入數據庫的方法
技術領域:
[0001]本發明涉及數據存儲
技術領域:
,具體地說是一種實用性強、JSON格式文本導入數據庫的方法。【
背景技術:
】[0002]隨著存儲系統業務復雜性的不斷提升,人們對數據的應用場景要求越來越高。目前市面上使用的各個平臺之間數據轉換格式復雜多樣,json作為一種輕量級的數據交換格式,完全獨立于語音的文本格式,但是也使用了類似于C,C#,JAVA等語言的習慣,使得JSON成為理想的數據交換語言,從而廣泛應用于各種場景下。[0003]而JSON格式文本中往往數據量很大,直接查看顯得非常復雜,在此情況下為了更方便的處理數據,我們希望把這些JSON格式的數據導入到數據庫中。針對這種情況時,json文本格式能夠轉換為SQL語句,導入到數據庫中顯得尤為重要。[0004]基于以上內容,我們提出一種全新的SON格式文本導入數據庫的方法。【
發明內容】[0005]本發明的技術任務是針對以上不足之處,提供一種實用性強、JSON格式文本導入數據庫的方法。[0006]—種JSON格式文本導入數據庫的方法,其實現過程為:[0007]首先查找需要轉換的JSON文本文件,并將查找到的JSON文本文件轉換成sql語句,然后在數據庫中建立與該sql語句表相對應的數據庫表,并將數據寫入到數據庫中。[0008]查找并轉換JSON文本文件過程為:[0009]在系統指定目錄下確認是否存在需要轉換格式的JSON文本文件,如果存在,則執行轉換腳本;[0010]轉換腳本執行時,首先讀取指定目錄下JSON文本文件存入數組中;[0011]將數組中字符串按格式截取拼接成為insert語句;[0012]輸出轉換完成后的sql語句到結果文件中。[0013]在數據庫中建立與該sql語句表相對應的數據庫表的具體過程為:[0014]在數據庫中建立與insert語句表結構一致的數據庫表;然后在數據庫中執行結果文件,即執行后綴為.sql的文件,最后將數據寫入數據庫中。[0015]本發明的一種JSON格式文本導入數據庫的方法,具有以下優點:[0016]本發明的一種JSON格式文本導入數據庫的方法,通過執行轉換腳本的方法,可以把JSON格式文本轉換為insert格式SQL語句;不同結構的JSON格式文本,可以生成不同的insert格式SQL語句;insert格式的SQL語句可以在各種數據庫下執行,可以適用于不同的數據庫場景,既節省了人力,又提高工作效率,為統計信息的工作提供一種快速可執行的方法,實用性強,易于推廣。【附圖說明】[0017]附圖1為本發明的實現流程圖。【具體實施方式】[0018]下面結合附圖及具體實施例對本發明作進一步說明。[0019]如附圖1所示,本發明提供一種JSON格式文本導入數據庫的方法,其實現過程為:[0020]首先查找需要轉換的JSON文本文件,并將查找到的JSON文本文件轉換成sql語句,然后在數據庫中建立與該sql語句表相對應的數據庫表,并將數據寫入到數據庫中。[0021]查找并轉換JSON文本文件過程為:[0022]在系統指定目錄下確認是否存在需要轉換格式的JSON文本文件,如果存在,則執行轉換腳本;[0023]轉換腳本執行時,首先讀取指定目錄下JSON文本文件存入數組中;[0024]將數組中字符串按格式截取拼接成為insert語句;[0025]輸出轉換完成后的sql語句到結果文件中。[0026]在數據庫中建立與該sql語句表相對應的數據庫表的具體過程為:[0027]在數據庫中建立與insert語句表結構一致的數據庫表;然后在數據庫中執行結果文件,即執行后綴為.sql的文件,最后將數據寫入數據庫中。[0028]基于該方法,本發明的具體實施過程如下所述:[0029]—、上傳JSON格式文本文件到系統指定目錄下,如下:[0030]/tmp/xxx.json。[0031]二、編寫轉換文件,讀取系統指定目錄下的JSON格式文本文件。[0032]#-*-coding:UTF_8-*-[0033]importjson#導入json模塊[0034]data=[]#定義數組[0035]withopen('/tmp/xxx.json')asf:[0036]forlineinf:[0037]data.append(json.1oads(Iine))#讀取指定目錄下的json文件。[0038]三、將數組中字符串按格式截取拼接成為insert語句。[0039]str="\r\n"[0040]foritemindata:[0041]Sprintjson.dumps(item)[0042]str=str+//insertinto表名(字段名I,字段名2,字段名3,字段名4,字段名5,字段名6)values〃[0043]str=str+"(’%s,,,%s,,,%s,,,%s,,,%s,,,%s,);\r\n"%(item[,字段名1’],^咖[’字段名2’],^_[’字段名3’],^_[’字段名4’],^咖[’字段名5’],^咖[’字段名6’])。[0044]#根據xxx.json格式不同,insert拼接語句字段可調整#。[0045]四、輸出轉換完成后的sql語句到結果文件中。[0046]importcodecs[0047]file_object=codecs.0pen('xxx.sql,,,w,,"utf_8")#轉換結果寫入xxx.sql,采用utf-8格式字符[0048]file_object.write(str)[0049]file_object.close()[0050]print〃success〃#打印轉換結果成功。[0051]五、在數據庫中建立與insert語句表結構一致的數據庫表。[0052]Createtable[表名]([字段I]類型,[字段2]類型,...)。[0053]六、在數據庫中執行轉換結果文件。[0054]上述【具體實施方式】僅是本發明的具體個案,本發明的專利保護范圍包括但不限于上述【具體實施方式】,任何符合本發明的一種JSON格式文本導入數據庫的方法的權利要求書的且任何所述
技術領域:
的普通技術人員對其所做的適當變化或替換,皆應落入本發明的專利保護范圍。【主權項】1.一種JSON格式文本導入數據庫的方法,其特征在于,其實現過程為:首先查找需要轉換的JSON文本文件,并將查找到的JSON文本文件轉換成sql語句,然后在數據庫中建立與該sql語句表相對應的數據庫表,并將數據寫入到數據庫中。2.根據權利要求1所述的一種JSON格式文本導入數據庫的方法,其特征在于,查找并轉換JSON文本文件過程為:在系統指定目錄下確認是否存在需要轉換格式的JSON文本文件,如果存在,則執行轉換腳本;轉換腳本執行時,首先讀取指定目錄下JSON文本文件存入數組中;將數組中字符串按格式截取拼接成為insert語句;輸出轉換完成后的sql語句到結果文件中。3.根據權利要求1所述的一種JSON格式文本導入數據庫的方法,其特征在于,在數據庫中建立與該sql語句表相對應的數據庫表的具體過程為:在數據庫中建立與insert語句表結構一致的數據庫表;然后在數據庫中執行結果文件,即執行后綴為.sql的文件,最后將數據寫入數據庫中。【文檔編號】G06F17/30GK106095824SQ201610380190【公開日】2016年11月9日【申請日】2016年6月1日【發明人】蘇寧寧【申請人】浪潮電子信息產業股份有限公司