JSONArray的学习

前端之家收集整理的这篇文章主要介绍了JSONArray的学习前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

  1. /**
  2. *从json数组中得到相应java数组
  3. *JSONArray下的toArray()方法的使用
  4. *@paramstr
  5. *@return
  6. */
  7. publicstaticObject[]getJsonToArray(Stringstr){
  8. JSONArrayjsonArray=JSONArray.fromObject(str);
  9. returnjsonArray.toArray();
  10. }
  11.  
  12. publicstaticvoidmain(String[]args){
  13. JSONArrayjsonStrs=newJSONArray();
  14. jsonStrs.add(0,"cat");
  15. jsonStrs.add(1,"dog");
  16. jsonStrs.add(2,"bird");
  17. jsonStrs.add(3,"duck");
  18.  
  19. Object[]obj=getJsonToArray(jsonStrs.toString());
  20. for(inti=0;i<obj.length;i++){
  21. System.out.println(obj[i]);
  22. }
  23. }

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

  1. /**
  2. *将json数组转化为Long型
  3. *@paramstr
  4. *@return
  5. */
  6. publicstaticLong[]getJsonToLongArray(Stringstr){
  7. JSONArrayjsonArray=JSONArray.fromObject(str);
  8. Long[]arr=newLong[jsonArray.size()];
  9. for(inti=0;i<jsonArray.size();i++){
  10. arr[i]=jsonArray.getLong(i);
  11. System.out.println(arr[i]);
  12. }
  13. returnarr;
  14. }
  15. /**
  16. *将json数组转化为String型
  17. *@paramstr
  18. *@return
  19. */
  20. publicstaticString[]getJsonToStringArray(Stringstr){
  21. JSONArrayjsonArray=JSONArray.fromObject(str);
  22. String[]arr=newString[jsonArray.size()];
  23. for(inti=0;i<jsonArray.size();i++){
  24. arr[i]=jsonArray.getString(i);
  25. System.out.println(arr[i]);
  26. }
  27. returnarr;
  28. }
  29. /**
  30. *将json数组转化为Double型
  31. *@paramstr
  32. *@return
  33. */
  34. publicstaticDouble[]getJsonToDoubleArray(Stringstr){
  35. JSONArrayjsonArray=JSONArray.fromObject(str);
  36. Double[]arr=newDouble[jsonArray.size()];
  37. for(inti=0;i<jsonArray.size();i++){
  38. arr[i]=jsonArray.getDouble(i);
  39. }
  40. returnarr;
  41. }
  42. /**
  43. *将json数组转化为Date型
  44. *@paramstr
  45. *@return
  46. */
  47. publicstaticDate[]getJsonToDateArray(StringjsonString){
  48.  
  49. JSONArrayjsonArray=JSONArray.fromObject(jsonString);
  50. Date[]dateArray=newDate[jsonArray.size()];
  51. StringdateString;
  52. Datedate;
  53. SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
  54. for(inti=0;i<jsonArray.size();i++){
  55. dateString=jsonArray.getString(i);
  56. try{
  57. date=sdf.parse(dateString);
  58. dateArray[i]=date;
  59. }catch(Exceptione){
  60. e.printStackTrace();
  61. }
  62. }
  63. returndateArray;
  64. }
  65.  
  66.  
  67. publicstaticvoidmain(String[]args){
  68.  
  69. JSONArrayjsonLongs=newJSONArray();
  70. jsonLongs.add(0,"111");
  71. jsonLongs.add(1,"222.25");
  72. jsonLongs.add(2,newLong(333));
  73. jsonLongs.add(3,444);
  74.  
  75. Long[]log=getJsonToLongArray(jsonLongs.toString());
  76. for(inti=0;i<log.length;i++){
  77. System.out.println(log[i]);
  78. }
  79.  
  80. JSONArrayjsonStrs=newJSONArray();
  81. jsonStrs.add(0,"2011-01-01");
  82. jsonStrs.add(1,"2011-01-03");
  83. jsonStrs.add(2,"2011-01-0411:11:11");
  84.  
  85. Date[]d=getJsonToDateArray(jsonStrs.toString());
  86. for(inti=0;i<d.length;i++){
  87. System.out.println(d[i]);
  88. }
  89. }
  90. /*结果如下:
  91. *111
  92. *222
  93. *333
  94. *444
  95. *
  96. *SatJan0100:00:00CST2011
  97. *MonJan0300:00:00CST2011
  98. *TueJan0400:00:00CST2011
  99. */

猜你在找的Json相关文章