Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 169|回复: 0

[默认分类] json学习之三:JSONArray的应用

[复制链接]
  • TA的每日心情
    开心
    2021-12-13 21:45
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2018-7-6 11:04:36 | 显示全部楼层 |阅读模式
    从json数组中得到相应java数组,如果要获取java数组中的元素,只需要遍历该数组。

    1. 1   /**
    2. 2       * 从json数组中得到相应java数组
    3. 3       * JSONArray下的toArray()方法的使用
    4. 4       * @param str
    5. 5       * @return
    6. 6       */
    7. 7       public static Object[] getJsonToArray(String str) {
    8. 8           JSONArray jsonArray = JSONArray.fromObject(str);
    9. 9           return jsonArray.toArray();
    10. 10       }
    11. 11
    12. 12    public static void main(String[] args) {        
    13. 13         JSONArray jsonStrs = new JSONArray();
    14. 14         jsonStrs.add(0, "cat");
    15. 15         jsonStrs.add(1, "dog");
    16. 16         jsonStrs.add(2, "bird");
    17. 17         jsonStrs.add(3, "duck");
    18. 18         
    19. 19         Object[] obj=getJsonToArray(jsonStrs.toString());
    20. 20         for(int i=0;i<obj.length;i++){
    21. 21               System.out.println(obj[i]);
    22. 22         }
    23. 23     }
    复制代码

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

    1. 1      /**
    2. 2       * 将json数组转化为Long型
    3. 3       * @param str
    4. 4       * @return
    5. 5       */
    6. 6      public static Long[] getJsonToLongArray(String str) {
    7. 7           JSONArray jsonArray = JSONArray.fromObject(str);
    8. 8           Long[] arr=new Long[jsonArray.size()];
    9. 9           for(int i=0;i<jsonArray.size();i++){
    10. 10               arr[i]=jsonArray.getLong(i);
    11. 11               System.out.println(arr[i]);
    12. 12           }
    13. 13           return arr;
    14. 14     }
    15. 15      /**
    16. 16       * 将json数组转化为String型
    17. 17       * @param str
    18. 18       * @return
    19. 19       */
    20. 20      public static String[] getJsonToStringArray(String str) {
    21. 21           JSONArray jsonArray = JSONArray.fromObject(str);
    22. 22           String[] arr=new String[jsonArray.size()];
    23. 23           for(int i=0;i<jsonArray.size();i++){
    24. 24               arr[i]=jsonArray.getString(i);
    25. 25               System.out.println(arr[i]);
    26. 26           }
    27. 27           return arr;
    28. 28     }
    29. 29      /**
    30. 30       * 将json数组转化为Double型
    31. 31       * @param str
    32. 32       * @return
    33. 33       */
    34. 34      public static Double[] getJsonToDoubleArray(String str) {
    35. 35           JSONArray jsonArray = JSONArray.fromObject(str);
    36. 36           Double[] arr=new Double[jsonArray.size()];
    37. 37           for(int i=0;i<jsonArray.size();i++){
    38. 38               arr[i]=jsonArray.getDouble(i);
    39. 39           }
    40. 40           return arr;
    41. 41     }
    42. 42      /**
    43. 43       * 将json数组转化为Date型
    44. 44       * @param str
    45. 45       * @return
    46. 46       */
    47. 47      public static Date[] getJsonToDateArray(String jsonString) {
    48. 48
    49. 49           JSONArray jsonArray = JSONArray.fromObject(jsonString);
    50. 50           Date[] dateArray = new Date[jsonArray.size()];
    51. 51           String dateString;
    52. 52           Date date;
    53. 53           SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
    54. 54           for (int i = 0; i < jsonArray.size(); i++) {
    55. 55               dateString = jsonArray.getString(i);
    56. 56               try {
    57. 57                   date=sdf.parse(dateString);
    58. 58                   dateArray[i] = date;
    59. 59               } catch (Exception e) {
    60. 60                   e.printStackTrace();
    61. 61               }
    62. 62           }
    63. 63           return dateArray;
    64. 64     }
    65. 65
    66. 66
    67. 67  public static void main(String[] args) {
    68. 68            
    69. 69         JSONArray jsonLongs = new JSONArray();
    70. 70         jsonLongs.add(0, "111");
    71. 71         jsonLongs.add(1, "222.25");
    72. 72         jsonLongs.add(2, new Long(333));
    73. 73         jsonLongs.add(3, 444);
    74. 74         
    75. 75         Long[] log=getJsonToLongArray(jsonLongs.toString());
    76. 76         for(int i=0;i<log.length;i++){
    77. 77             System.out.println(log[i]);
    78. 78         }
    79. 79         
    80. 80         JSONArray jsonStrs = new JSONArray();
    81. 81         jsonStrs.add(0, "2011-01-01");
    82. 82         jsonStrs.add(1, "2011-01-03");
    83. 83         jsonStrs.add(2, "2011-01-04 11:11:11");
    84. 84         
    85. 85         Date[] d=getJsonToDateArray(jsonStrs.toString());        
    86. 86         for(int i=0;i<d.length;i++){
    87. 87             System.out.println(d[i]);
    88. 88         }
    89. 89     }
    90. 90   /*结果如下:
    91. 91      * 111
    92. 92      * 222
    93. 93      * 333
    94. 94      * 444
    95. 95      *
    96. 96      * Sat Jan 01 00:00:00 CST 2011
    97. 97      * Mon Jan 03 00:00:00 CST 2011
    98. 98      * Tue Jan 04 00:00:00 CST 2011
    99. 99      */
    复制代码

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

    GMT+8, 2024-6-14 16:03 , Processed in 0.416733 second(s), 46 queries .

    Powered by Discuz! X3.4

    © 2001-2017 Comsenz Inc.

    快速回复 返回顶部 返回列表