如何将json数据转化为数据库文件

如何将json数据转化为数据库文件,第1张

从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 = JSONArray.fromObject(str)

Long[] arr=new Long[jsonArray.size()]

for(int i=0i<jsonArray.size()i++){

arr[i]=jsonArray.getLong(i)

System.out.println(arr[i])

}

return arr

}

/**

* 将json数组转化为String型

* @param str

* @return

*/

public static String[] getJsonToStringArray(String str) {

JSONArray jsonArray = JSONArray.fromObject(str)

String[] arr=new String[jsonArray.size()]

for(int i=0i<jsonArray.size()i++){

arr[i]=jsonArray.getString(i)

System.out.println(arr[i])

}

return arr

}

/**

* 将json数组转化为Double型

* @param str

* @return

*/

public static Double[] getJsonToDoubleArray(String str) {

JSONArray jsonArray = JSONArray.fromObject(str)

Double[] arr=new Double[jsonArray.size()]

for(int i=0i<jsonArray.size()i++){

arr[i]=jsonArray.getDouble(i)

}

return arr

}

/**

* 将json数组转化为Date型

* @param str

* @return

*/

public static Date[] getJsonToDateArray(String jsonString) {

JSONArray jsonArray = JSONArray.fromObject(jsonString)

Date[] dateArray = new Date[jsonArray.size()]

String dateString

Date date

SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd")

for (int i = 0i <jsonArray.size()i++) {

dateString = jsonArray.getString(i)

try {

date=sdf.parse(dateString)

dateArray[i] = date

} catch (Exception e) {

e.printStackTrace()

}

}

return dateArray

}

public static void main(String[] args) {

JSONArray jsonLongs = new JSONArray()

jsonLongs.add(0, "111")

jsonLongs.add(1, "222.25")

jsonLongs.add(2, new Long(333))

jsonLongs.add(3, 444)

Long[] log=getJsonToLongArray(jsonLongs.toString())

for(int i=0i<log.lengthi++){

System.out.println(log[i])

}

JSONArray jsonStrs = new JSONArray()

jsonStrs.add(0, "2011-01-01")

jsonStrs.add(1, "2011-01-03")

jsonStrs.add(2, "2011-01-04 11:11:11")

Date[] d=getJsonToDateArray(jsonStrs.toString())

for(int i=0i<d.lengthi++){

System.out.println(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

*/

json是一个固定格式的字符串, 其中只有数字和字符串、数组、对象几种种格式,字符串要用双引号括起来 分为数组和对象2种表示形式,数组是用[]括起来的,每个元素间用逗号隔开,获取元素跟java一样使用下标获取; 对象是用{}括起来的,这个对象只有属性和值,格式为 key:value,key:value,key:value。。。,key相当于java对象中的属性名,value就是属性值 举例 ["a","dddd","tttt"]这是数组 {a:1,b:2,c:5} 这个是对象,获取用对象。key取值 复杂一点的无非就是数组、对象互相嵌套 比如 [{a:2,b:2},{a:4,b:9}] {a:[1,2,3,4],b:5,c:{d:2,gg:4}}这类的格式,当你知道它的数组和对象表现形式后很容易明白里边的意思 获得服务器端JSON(其实就是一段有格式的字符串),可以通过string的split()方法拆分,然后再转化成一个个js对象.当然要用JSON得先导一个JSON的jar包

直接varchar或者text之类的类型即可插入。在Mysql5.7或以上可以支持JSON数据类型。其他的数据库你可以参考他的不同版本,考虑是否支持JSON数据类型,如果不支持就用字符串类型。但是要考虑长度。

PS:如果是用客户端链接,那么就算数据库支持,那客户端也得是最新版支持JSON的,要不然数据库支持,工具以为不支持!


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/6700202.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-03-27
下一篇2023-03-27

发表评论

登录后才能评论

评论列表(0条)

    保存