Java 将结果从JSON检索到ArrayList

Java 将结果从JSON检索到ArrayList,java,android,json,Java,Android,Json,我有下面的JSON- 旅行 {obj}0 []腿 {obj}0 {obj}指令 “字符串”详细信息:字符串值位于此处0 {obj}1 {obj}指令 “字符串”详细信息:字符串值位于此处1 {obj}1 []腿 {obj}0 {obj}指令 “字符串”详细信息:字符串值位于此处0 {obj}1 {obj}指令 “字符串”详细信息:字符串值位于此处1 {obj}2 []腿 {obj}0 {obj}指令 “字符串”详细信息:字符串值位于此处0 {obj}1

我有下面的JSON-

  • 旅行
    • {obj}0
      • []腿
        • {obj}0
          • {obj}指令
          • “字符串”详细信息:字符串值位于此处0
        • {obj}1
          • {obj}指令
          • “字符串”详细信息:字符串值位于此处1
    • {obj}1
      • []腿
        • {obj}0
          • {obj}指令
          • “字符串”详细信息:字符串值位于此处0
        • {obj}1
          • {obj}指令
          • “字符串”详细信息:字符串值位于此处1
    • {obj}2
      • []腿
        • {obj}0
          • {obj}指令
          • “字符串”详细信息:字符串值位于此处0
        • {obj}1
          • {obj}指令
          • “字符串”详细信息:字符串值位于此处1
  • 我的计划是迭代“旅行”值,并将它们存储在
    ArrayList
    中。类似地,将“legs”存储在另一个
    ArrayList
    中,最后获取并检索对象
    指令的值。正如您所看到的,父级
    旅程
    有3个子级
    {obj}0
    {obj}1
    {obj}2
    。我可以使用--

    ArrayList旅程=新建ArrayList();
    ArrayList leg=新的ArrayList();
    ArrayList legDetails=新建ArrayList();
    试一试{
    JSONArray jArray=object.getJSONArray(“旅程”);
    if(jArray!=null){
    对于(inti=0;i问题就在这里

            if (!journey.isEmpty()){
    
              for (int j=0;j<journey.size();j++){
                       leg.add(journey.get(j).getJSONArray("legs"));
    
                    }
    
            }
    
    因此支腿将有3个数组

    if (!leg.isEmpty()){
       for (int i = 0; i<leg.size();i++){
          legDetails.add(leg.get(i).getJSONObject(i));
       }
    }
    
    更新::

    if (!leg.isEmpty()){
       for (int i = 0; i<leg.size();i++){
          for(int j=0;j<leg.get(i).size();j++)
             legDetails.add(leg.get(i).getJSONObject(j));
       }
    }
    
    if(!leg.isEmpty()){
    对于(inti=0;i问题就在这里

            if (!journey.isEmpty()){
    
              for (int j=0;j<journey.size();j++){
                       leg.add(journey.get(j).getJSONArray("legs"));
    
                    }
    
            }
    
    因此支腿将有3个数组

    if (!leg.isEmpty()){
       for (int i = 0; i<leg.size();i++){
          legDetails.add(leg.get(i).getJSONObject(i));
       }
    }
    
    更新::

    if (!leg.isEmpty()){
       for (int i = 0; i<leg.size();i++){
          for(int j=0;j<leg.get(i).size();j++)
             legDetails.add(leg.get(i).getJSONObject(j));
       }
    }
    
    if(!leg.isEmpty()){
    
    对于(int i=0;iThanks..我理解这一点,但无法解决它..我如何着手检索
    指令
    值?太棒了!但是有其他方法将它们存储为键值对吗?谢谢..我理解这一点,但无法解决它..我如何着手检索
    指令
    值?太棒了!但是还有其他方法来存储它们吗是否将它们作为键值对?