JSONArray的学习

从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组。

/**
*从json数组中得到相应java数组
*JSONArray下的toArray()方法的使用
*@paramstr
*@return
*/
publicstaticObject[]getJsonToArray(Stringstr){
JSONArrayjsonArray=JSONArray.fromObject(str);
returnjsonArray.toArray();
}

publicstaticvoidmain(String[]args){
JSONArrayjsonStrs=newJSONArray();
jsonStrs.add(0,"cat");
jsonStrs.add(1,"dog");
jsonStrs.add(2,"bird");
jsonStrs.add(3,"duck");

Object[]obj=getJsonToArray(jsonStrs.toString());
for(inti=0;i<obj.length;i++){
System.out.println(obj[i]);
}
}

从json数组中得到java数组,可以对该数组进行转化,如将JSONArray转化为String型、Long型、Double型、Integer型、Date型等等。
分别采用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法
同样,如果要获取java数组中的元素,只需要遍历该数组。

/**
*将json数组转化为Long型
*@paramstr
*@return
*/
publicstaticLong[]getJsonToLongArray(Stringstr){
JSONArrayjsonArray=JSONArray.fromObject(str);
Long[]arr=newLong[jsonArray.size()];
for(inti=0;i<jsonArray.size();i++){
arr[i]=jsonArray.getLong(i);
System.out.println(arr[i]);
}
returnarr;
}
/**
*将json数组转化为String型
*@paramstr
*@return
*/
publicstaticString[]getJsonToStringArray(Stringstr){
JSONArrayjsonArray=JSONArray.fromObject(str);
String[]arr=newString[jsonArray.size()];
for(inti=0;i<jsonArray.size();i++){
arr[i]=jsonArray.getString(i);
System.out.println(arr[i]);
}
returnarr;
}
/**
*将json数组转化为Double型
*@paramstr
*@return
*/
publicstaticDouble[]getJsonTodoubleArray(Stringstr){
JSONArrayjsonArray=JSONArray.fromObject(str);
Double[]arr=newDouble[jsonArray.size()];
for(inti=0;i<jsonArray.size();i++){
arr[i]=jsonArray.getDouble(i);
}
returnarr;
}
/**
*将json数组转化为Date型
*@paramstr
*@return
*/
publicstaticDate[]getJsonToDateArray(StringjsonString){

JSONArrayjsonArray=JSONArray.fromObject(jsonString);
Date[]dateArray=newDate[jsonArray.size()];
StringdateString;
Datedate;
SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
for(inti=0;i<jsonArray.size();i++){
dateString=jsonArray.getString(i);
try{
date=sdf.parse(dateString);
dateArray[i]=date;
}catch(Exceptione){
e.printstacktrace();
}
}
returndateArray;
}


publicstaticvoidmain(String[]args){

JSONArrayjsonLongs=newJSONArray();
jsonLongs.add(0,"111");
jsonLongs.add(1,"222.25");
jsonLongs.add(2,newLong(333));
jsonLongs.add(3,444);

Long[]log=getJsonToLongArray(jsonLongs.toString());
for(inti=0;i<log.length;i++){
System.out.println(log[i]);
}

JSONArrayjsonStrs=newJSONArray();
jsonStrs.add(0,"2011-01-01");
jsonStrs.add(1,"2011-01-03");
jsonStrs.add(2,"2011-01-0411:11:11");

Date[]d=getJsonToDateArray(jsonStrs.toString());
for(inti=0;i<d.length;i++){
System.out.println(d[i]);
}
}
/*结果如下:
*111
*222
*333
*444
*
*SatJan0100:00:00CST2011
*MonJan0300:00:00CST2011
*TueJan0400:00:00CST2011
*/

相关文章

AJAX是一种基于JavaScript和XML的技术,能够使网页实现异步交...
在网页开发中,我们常常需要通过Ajax从后端获取数据并在页面...
在前端开发中,经常需要循环JSON对象数组进行数据操作。使用...
AJAX(Asynchronous JavaScript and XML)是一种用于创建 We...
AJAX技术被广泛应用于现代Web开发,它可以在无需重新加载页面...
Ajax是一种通过JavaScript和HTTP请求交互的技术,可以实现无...