加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

JSONArray的应用

发布时间:2020-12-16 19:55:59 所属栏目:百科 来源:网络整理
导读:转载地址: http://linglan-8805.iteye.com/blog/1290113 从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组。 Java代码 /** *从json数组中得到相应java数组 *JSONArray下的toArray()方法的使用 *@paramstr *@return */ public s
转载地址: http://linglan-8805.iteye.com/blog/1290113
从json数组中得到相应java数组,如果要获取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. publicstaticvoidmain(String[]args){
  12. JSONArrayjsonStrs=newJSONArray();
  13. jsonStrs.add(0,"cat");
  14. jsonStrs.add(1,"dog");
  15. jsonStrs.add(2,"bird");
  16. jsonStrs.add(3,"duck");
  17. Object[]obj=getJsonToArray(jsonStrs.toString());
  18. for(inti=0;i<obj.length;i++){
  19. System.out.println(obj[i]);
  20. }
  21. }

从json数组中得到java数组,可以对该数组进行转化,如将JSONArray转化为String型、Long型、Double型、Integer型、Date型等等。
分别采用jsonArray下的getString(index)、getLong(index)、getDouble(index)、getInt(index)等方法。
同样,如果要获取java数组中的元素,只需要遍历该数组。
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. JSONArrayjsonArray=JSONArray.fromObject(jsonString);
  49. Date[]dateArray=newDate[jsonArray.size()];
  50. StringdateString;
  51. Datedate;
  52. SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-dd");
  53. for(inti=0;i<jsonArray.size();i++){
  54. dateString=jsonArray.getString(i);
  55. try{
  56. date=sdf.parse(dateString);
  57. dateArray[i]=date;
  58. }catch(Exceptione){
  59. e.printStackTrace();
  60. }
  61. }
  62. returndateArray;
  63. }
  64. publicstaticvoidmain(String[]args){
  65. JSONArrayjsonLongs=newJSONArray();
  66. jsonLongs.add(0,"111");
  67. jsonLongs.add(1,"222.25");
  68. jsonLongs.add(2,newLong(333));
  69. jsonLongs.add(3,444);
  70. Long[]log=getJsonToLongArray(jsonLongs.toString());
  71. for(inti=0;i<log.length;i++){
  72. System.out.println(log[i]);
  73. }
  74. JSONArrayjsonStrs=newJSONArray();
  75. jsonStrs.add(0,"2011-01-01");
  76. jsonStrs.add(1,"2011-01-03");
  77. jsonStrs.add(2,"2011-01-0411:11:11");
  78. Date[]d=getJsonToDateArray(jsonStrs.toString());
  79. for(inti=0;i<d.length;i++){
  80. System.out.println(d[i]);
  81. }
  82. }
  83. /*结果如下:
  84. *111
  85. *222
  86. *333
  87. *444
  88. *
  89. *SatJan0100:00:00CST2011
  90. *MonJan0300:00:00CST2011
  91. *TueJan0400:00:00CST2011
  92. */

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读