2016-09-16 2 views
3

In der JSON-Antwort gibt es den Schlüssel "Value", aber seine Antwort hat mehrere Formen wie String und Array mit demselben Schlüssel "Value".So behandeln Sie die JSON-Antwort mit demselben Schlüssel "Value" String und Array mit Retrofit

So, wie Retrofit-Klasse zu machen, String und Array mit dem gleichen Schlüssel "Wert" zu pflegen.

{ 
    "RespCode":"SUCCESS", 
    "RespText":"Transaction Details", 
     "Data":{ 
       "Record":[ 
       { 
        "group_title":"Seller Information", 
        "group_values":[ 
        { 
         "key":"Listing Agent", 
         "value":[ 
          { 
           "key":"Agent First Name", 
           "value":"Myks" 
          }, 
          { 
           "key":"Agent Last Name", 
           "value":"Joe" 
          }, 
          { 
           "key":"Company", 
           "value":"bdfjdlfdf" 
          }, 
          { 
           "key":"Phone", 
           "value":"712.336.4967" 
          }, 
          { 
           "key":"Email", 
           "value":"[email protected]" 
          } 
         ] 
        }, 
        { 
         "key":"Cell Phone", 
         "value":"012.345.6789" 
        }, 
        { 
         "key":"Email", 
         "value":"[email protected]" 
        }, 
        { 
         "key":"Preferred Contact Method", 
         "value":"Phone" 
        } 
       ] 
      }, 
    ] 
    } 
} 

Antwort

0

Verwenden Sie einfach eine Arraylist, die mehrere hashmaps enthält vielleicht? Oder ... Sie haben eine pojo zu definieren, die Liste von Arrays mit Typ-Karte oder etwas in diesem Sinne hat

0

prüfen dieses:

public class ModelBean { 

    private String RespCode; 
    private String RespText; 
    private DataBean Data; 

    public String getRespCode() { 
     return RespCode; 
    } 

    public void setRespCode(String RespCode) { 
     this.RespCode = RespCode; 
    } 

    public String getRespText() { 
     return RespText; 
    } 

    public void setRespText(String RespText) { 
     this.RespText = RespText; 
    } 

    public DataBean getData() { 
     return Data; 
    } 

    public void setData(DataBean Data) { 
     this.Data = Data; 
    } 

    public static class DataBean { 
     private List<RecordBean> Record; 

     public List<RecordBean> getRecord() { 
      return Record; 
     } 

     public void setRecord(List<RecordBean> Record) { 
      this.Record = Record; 
     } 

     public static class RecordBean { 
      private String group_title; 
      private List<GroupValuesBean> group_values; 

      public String getGroup_title() { 
       return group_title; 
      } 

      public void setGroup_title(String group_title) { 
       this.group_title = group_title; 
      } 

      public List<GroupValuesBean> getGroup_values() { 
       return group_values; 
      } 

      public void setGroup_values(List<GroupValuesBean> group_values) { 
       this.group_values = group_values; 
      } 

      public static class GroupValuesBean { 
       private String key; 
       private List<ValueBean> value; 

       public String getKey() { 
        return key; 
       } 

       public void setKey(String key) { 
        this.key = key; 
       } 

       public List<ValueBean> getValue() { 
        return value; 
       } 

       public void setValue(List<ValueBean> value) { 
        this.value = value; 
       } 

       public static class ValueBean { 
        private String key; 
        private String value; 

        public String getKey() { 
         return key; 
        } 

        public void setKey(String key) { 
         this.key = key; 
        } 

        public String getValue() { 
         return value; 
        } 

        public void setValue(String value) { 
         this.value = value; 
        } 
       } 
      } 
     } 
    } 
} 
+0

ich mit Ihrer Lösung versucht, aber wirft gleichen Fehler zu mir. Erwartete BEGIN_ARRAY aber war STRING in Zeile 1 Spalte 439 path $ .Data.Record [1] .group_values ​​[0] .value –

+0

Also im Grunde haben die gleichen Schlüssel "Value" mit String auch und Array auch. Deshalb wirft Its diesen Fehler. Also bitte hilf mir dabei. –

Verwandte Themen