當前位置:成語大全網 - 書法字典 - Java把json數據解析成sql語句?

Java把json數據解析成sql語句?

進口?Java . util . iterator;

進口?Java . util . set;

進口?Java . util . map . entry;

進口?com . Google . gson . JSON array;

進口?com . Google . gson . JSON element;

進口?com . Google . gson . JSON object;

進口?com . Google . gson . JSON parser;

公共?班級?結構化查詢語言

{

公共?靜電?字符串?parseSQL(字符串?json)

{

JsonParser?解析器?=?新的?JSON parser();

JsonObject?obj?=?(JsonObject)?parser . parse(JSON);;

字符串?桌子?=?obj.get("table ")。getAsString();

字符串?op_type?=?obj.get("op_type ")。getAsString();

字符串?sql?=?"";

如果(“我”。equals(op_type))

{

sql?+=?“插入?成嗎?”?+?桌子?+?"?(";

JsonObject?之後?=?(JsonObject)?obj.get("之後");

設置& ltEntry & lt字符串,?JsonElement & gt& gt?入門?=?after . entry set();

叠代器& ltEntry & lt字符串,?JsonElement & gt& gt?它?=?entry . iterator();

字符串?vs?=?"?價值觀?(";

while(it.hasNext())

{

Entry & lt字符串,?JsonElement & gt?elem?=?it . next();

字符串?鑰匙?=?elem . getkey();

字符串?瓦爾。=?elem.getValue()。toString();

sql?+=?鑰匙?+?",?";

vs?+=?瓦爾。+?",?";

}

sql?=?sql.replaceAll(",\\s*$ ",?"");

vs?=?vs.replaceAll(",\\s*$ ",?"");

sql?+=?")?"?+?vs?+?")";

}

不然呢?if("U "。equals(op_type))

{

sql?+=?“更新?”?+?桌子?+?"?設置?”;

JsonObject?之後?=?(JsonObject)?obj.get("之後");

設置& ltEntry & lt字符串,?JsonElement & gt& gt?入門?=?after . entry set();

叠代器& ltEntry & lt字符串,?JsonElement & gt& gt?它?=?entry . iterator();

while(it.hasNext())

{

Entry & lt字符串,?JsonElement & gt?elem?=?it . next();

字符串?鑰匙?=?elem . getkey();

字符串?瓦爾。=?elem.getValue()。toString();

sql?+=?鑰匙?+?"="?+?瓦爾。+?",?";

}

sql?=?sql.replaceAll(",\\s*$ ",?"");

sql?+=?"?哪裏?”;

之後?=?(JsonObject)?obj.get("之前");

入門?=?after . entry set();

它?=?entry . iterator();

while(it.hasNext())

{

Entry & lt字符串,?JsonElement & gt?elem?=?it . next();

字符串?鑰匙?=?elem . getkey();

字符串?瓦爾。=?elem.getValue()。toString();

sql?+=?鑰匙?+?"="?+?瓦爾。+?"?然後呢?”;

}

sql?=?SQL . replace all(" \ \ s *和\\s*$ ",?"");

}

不然呢?if("D "。equals(op_type))

{

sql?+=?“刪除?從哪裏?”?+?桌子?+?"?哪裏?”;

JsonObject?之後?=?(JsonObject)?obj.get("之前");

設置& ltEntry & lt字符串,?JsonElement & gt& gt?入門?=?after . entry set();

叠代器& ltEntry & lt字符串,?JsonElement & gt& gt?它?=?entry . iterator();

while(it.hasNext())

{

Entry & lt字符串,?JsonElement & gt?elem?=?it . next();

字符串?鑰匙?=?elem . getkey();

字符串?瓦爾。=?elem.getValue()。toString();

sql?+=?鑰匙?+?"="?+?瓦爾。+?"?然後呢?”;

}

sql?=?SQL . replace all(" \ \ s *和\\s*$ ",?"");

}

回歸?sql

}

公共?靜電?作廢?main(String[]?參數)

{

字符串?插入?=

" {\ "表\":\"GG。TCUSTORD\ ",\"op_type\":\"I\ ",\"op_ts\":\"2013-06-02?22:14:36.0000000 \ ",\ " current _ ts \ ":\ " 2015-09-18t 13:39:35.447000 \ ",\ " pos \ ":\ " 0000000000001444 \ ",\ " tokens \ ":{ \ " R \ ":\ " aadpkvaaeaaeql 2 a

字符串?更新?=

" {\ "表\":\"GG。TCUSTORD\ ",\"op_type\":\"U\ ",\"op_ts\":\"2013-06-02?22:14:41.000000\ ",\ " current _ ts \ ":\ " 2015-09-18t 13:39:35.748000 \ ",\ " pos \ ":\ " 0000000000000002891 \ ",\ " tokens \ ":{ \ " L \ ":\ " 2000

字符串?刪除?=

" {\ "表\":\"GG。TCUSTORD\ ",\"op_type\":\"D\ ",\"op_ts\":\"2013-06-02?22:14:41.0000000 \ ",\ " current _ ts \ ":\ " 2015-09-18t 13:39:35.766000 \ ",\ " pos \ ":\ " 00000000000000004338 \ ",\ " tokens \ ":{ \ " L \ ":\ " 2060804558

system . out . println(parse SQL(insert));

system . out . println(parse SQL(update));

system . out . println(parse SQL(delete));

}

}