json的数据jsonloads进来以后会变成一个json的对象,你需要自己把python对象中的字段值取出来,拼成sql语句
你可以把这个过程封装成一个函数
import json
def save_json(json_str):
obj = jsonloads(json_str)
sql = 'insert into tbl values ("%s")' % obj['id'] #这里注意编码,要转成数据库的编码格式
#blabla
从json数组中得到java数组,可以对该数组进行转化,如将JSONArray转化为String型、Long型、Double型、Integer型、Date型等等。
分别采用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法。
同样,如果要获取java数组中的元素,只需要遍历该数组。
Java代码 收藏代码
/
将json数组转化为Long型
@param str
@return
/
public static Long[] getJsonToLongArray(String str) {
JSONArray jsonArray = JSONArrayfromObject(str);
Long[] arr=new Long[jsonArraysize()];
for(int i=0;i<jsonArraysize();i++){
arr[i]=jsonArraygetLong(i);
Systemoutprintln(arr[i]);
}
return arr;
}
/
将json数组转化为String型
@param str
@return
/
public static String[] getJsonToStringArray(String str) {
JSONArray jsonArray = JSONArrayfromObject(str);
String[] arr=new String[jsonArraysize()];
for(int i=0;i<jsonArraysize();i++){
arr[i]=jsonArraygetString(i);
Systemoutprintln(arr[i]);
}
return arr;
}
/
将json数组转化为Double型
@param str
@return
/
public static Double[] getJsonToDoubleArray(String str) {
JSONArray jsonArray = JSONArrayfromObject(str);
Double[] arr=new Double[jsonArraysize()];
for(int i=0;i<jsonArraysize();i++){
arr[i]=jsonArraygetDouble(i);
}
return arr;
}
/
将json数组转化为Date型
@param str
@return
/
public static Date[] getJsonToDateArray(String jsonString) {
JSONArray jsonArray = JSONArrayfromObject(jsonString);
Date[] dateArray = new Date[jsonArraysize()];
String dateString;
Date date;
SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
for (int i = 0; i < jsonArraysize(); i++) {
dateString = jsonArraygetString(i);
try {
date=sdfparse(dateString);
dateArray[i] = date;
} catch (Exception e) {
eprintStackTrace();
}
}
return dateArray;
}
public static void main(String[] args) {
JSONArray jsonLongs = new JSONArray();
jsonLongsadd(0, "111");
jsonLongsadd(1, "22225");
jsonLongsadd(2, new Long(333));
jsonLongsadd(3, 444);
Long[] log=getJsonToLongArray(jsonLongstoString());
for(int i=0;i<loglength;i++){
Systemoutprintln(log[i]);
}
JSONArray jsonStrs = new JSONArray();
jsonStrsadd(0, "2011-01-01");
jsonStrsadd(1, "2011-01-03");
jsonStrsadd(2, "2011-01-04 11:11:11");
Date[] d=getJsonToDateArray(jsonStrstoString());
for(int i=0;i<dlength;i++){
Systemoutprintln(d[i]);
}
}
/结果如下:
111
222
333
444
Sat Jan 01 00:00:00 CST 2011
Mon Jan 03 00:00:00 CST 2011
Tue Jan 04 00:00:00 CST 2011
/
数据库取出来首先是一个LIST。
然后用jsonlib这个包的API转一下就OK了
JSONArrayfromObject(list)toString(); 就可以了
以上就是关于如何将从接口取到的json数据存入mysql数据库全部的内容,包括:如何将从接口取到的json数据存入mysql数据库、如何将json数据转化为数据库文件、怎样从数据库查询出来,循环生成节点,用标准json数据等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)