从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组。
/**
*从json数组中得到相应java数组
*JSONArray下的toArray()方法的使用
*@paramstr
*/
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
*/
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
*/
原文链接:https://www.f2er.com/json/289517.html