package com.sf.test;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.json.JSONException;
public class JsonTry {
public static void main(String[] args) {
String json ="{ "+
"'InvoiceNumber': 'XM50586600', "+
"'InvoiceDate':'2017-11-01', "+
"'SalesAmount': 14220, "+
"'TaxType': '2', "+
"'TaxRate': 0, "+
"'TaxAmount': 0, "+
"'TotalAmount': 14220, "+
"'DiscountAmount': 0, "+
"'OriginalCurrencyAmount': 0, "+
"'ExchangeRate': 0, "+
"'Currency': '' "+
"}";
StringBuilder sb = new StringBuilder();
List<String> keys =new ArrayList<String>();
List<String> values =new ArrayList<String>();
String sbString="";
try {
org.json.JSONObject jsonObject = new org.json.JSONObject(json);
jsonObject.remove("Attachment");
Iterator iterator = jsonObject.keys();
while(iterator.hasNext()){
String key = (String) iterator.next();
keys.add(camel2Underline(key));
values.add(jsonObject.getString(key));
// sb.append("&"+key);
// sb.append("="+jsonObject.getString(key));
}
// sb.append("&key");
// sbString = sb.substring(1);
} catch (JSONException e) {
e.printStackTrace();
}
sbString+="insert into TI_INVOICE_DETAIL (\n";
for(int i=0;i<keys.size();i++){
sbString+=keys.get(i)+",";
}
sbString+="\n)values(\n";
for(int i=0;i<values.size();i++){
sbString+="'"+values.get(i)+"',";
}
sbString+="\n)";
System.out.println(keys.size());
System.out.println(values.size());
System.out.println(sbString);
}
public static String underline2Camel(String line,boolean smallCamel){
if(line==null||"".equals(line)){
return "";
}
StringBuffer sb=new StringBuffer();
Pattern pattern=Pattern.compile("([A-Za-z\\d]+)(_)?");
Matcher matcher=pattern.matcher(line);
while(matcher.find()){
String word=matcher.group();
sb.append(smallCamel&&matcher.start()==0?Character.toLowerCase(word.charAt(0)):Character.toUpperCase(word.charAt(0)));
int index=word.lastIndexOf('_');
if(index>0){
sb.append(word.substring(1, index).toLowerCase());
}else{
sb.append(word.substring(1).toLowerCase());
}
}
return sb.toString();
}
public static String camel2Underline(String line){
if(line==null||"".equals(line)){
return "";
}
line=String.valueOf(line.charAt(0)).toUpperCase().concat(line.substring(1));
StringBuffer sb=new StringBuffer();
Pattern pattern=Pattern.compile("[A-Z]([a-z\\d]+)?");
Matcher matcher=pattern.matcher(line);
while(matcher.find()){
String word=matcher.group();
sb.append(word.toUpperCase());
sb.append(matcher.end()==line.length()?"":"_");
}
return sb.toString();
}
}
数据库语句处理
最新推荐文章于 2021-01-30 15:01:30 发布
本文介绍了一个Java程序示例,该程序将JSON格式的数据转换为SQL插入语句。通过对JSON数据进行解析并将其字段转换成合适的SQL格式,文章展示了如何使用正则表达式进行字符串操作,并最终构造出SQL插入语句。
663

被折叠的 条评论
为什么被折叠?



