按行讀取json檔案轉成insert的SQL語句

2021-10-07 23:35:51 字數 1211 閱讀 1638

需求

有如下很多條json語句的文字,每條json語句在文字中為一行

取出一條json如下

要把json轉換成如下的sql insert語句

insert into tablename (cityname,rangename,currency,language,cityid,countryname,languagecode,categoryid) values ( "滁州","東亞","cny","英語","123","中國","en_us","12");**

讀取文字每條記錄,因為每條記錄是json,直接用fastjson轉換即可。

public

void

readfile()

}catch

(exception e)

}

根據先根據json中每個key,先轉成insert into tablename (若干字段)形式,再轉成values("內容");形式

private string sqlinsert

(jsonobject linejson, string tablename)

sb.(key).(

",");}

sb.deletecharat

(sb.

length()

-1);

// 轉成 values("內容"); 形式

sb.(") values ( ");

for(string key : linejson.

keyset()

) sb.

("\"").

(linejson.

getstring

(key)).

("\"");

sb.(",");

} sb.

deletecharat

(sb.

length()

-1);

sb.(")").

(";");

return sb.

tostring()

;}

文字轉換筆記

按行讀取檔案

const string strurlfilename testurl.txt ifstream fin strurlfilename.c str fstream binary if fin fin.eof string serverurl getline fin,serverurl info lo...

json 按行讀寫檔案

在進行大量資料讀寫時,一般json不能讀寫特別大的資料,此時需要按行來進行讀寫 按行寫檔案 import json data for item in data with open data.json a encoding utf 8 as f line json.dumps item,ensure ...

c讀取按行讀取檔案

c中沒有getline 這個函式,該函式只存在於c 中。有些人說用gets,但是這個函式是不安全的,gets不知道字串的大小,容易造成溢位的問題。解決方案,使用fgets函式 其關鍵在於在讀出n 1個字元之前,如遇到了換行符或eof,則讀出結束。因此,通過設定適當大小的緩衝區,即可實現讀取一行的功能...