java - Java 中的 JSONArray 中的 JSONArray

标签 java json parsing

我需要从 JSONArray 获取 JSONArray:

      JSONParser parser = new JSONParser();
      JSONObject jObject=(JSONObject)parser.parse(s);
      JSONArray messages = (JSONArray) jObject.get("routes");
      JSONArray ar = (JSONArray)messages.get("legs");

JSONArray.get 不接受字符串作为参数。

我的 JSON 字符串:

    {
   "routes" : [
  {
     "bounds" : {
        "northeast" : {
           "lat" : 27.9786758,
           "lng" : 31.2199858
        },
        "southwest" : {
           "lat" : 27.0120443,
           "lng" : 30.9788969
        }
     },
     "copyrights" : "Map data ©2015 Google, ORION-ME",
     "legs" : [
        {
           "distance" : {
              "text" : "138 km",
              "value" : 138208
           },
           "duration" : {
              "text" : "1 hour 52 mins",
              "value" : 6744
           },

最佳答案

JSONArray 表示一个数组。数组没有任何属性。它们具有索引从 0 到数组长度的元素。

如果您想从数组中获取第一个元素,即具有 Leg 属性的 JSONObject,请使用如下所示的内容:

JSONObject firstElement = (JSONObject) messages.get(0);
JSONArray ar = (JSONArray) firstElement.get("legs");

确切的方法名称可能会有所不同:有数十个 JSON 库,但您不知道正在使用哪一个。

关于java - Java 中的 JSONArray 中的 JSONArray,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31086547/

相关文章:

java - 解析此消息

arrays - 如何用函数中的数据填充数组?

java - 使用 GSON 将 JSON 样式属性名称转换为 Java CamelCase 名称

sql - 使用jq创建SQL INSERT语句将多级JSON数组导入RDMS

java - 数组中的数组 - Java 代码

javascript - 如何为 JavaScript 代码编写混淆器?

java - "Java Threads"书中关于 volatile 关键字的引述

java - public synchronized void run() 是一个坏主意吗?

java - R.id.home 给出了错误的值?

java - 如何在android中创建图像按钮?