2017-05-25 72 views
0
{ 
    "Response": { 
     "Header": { 
      "StatusCode": 100, 
      "Status": "Success", 
      "Desc": "Success" 
     }, 
     "Data": { 
      "ComparisionsOfReportProducts": { 
       "Datewise": [ 
        { 
         "ReportDate": "04/11/2017", 
         "BT": "909", 
         "Ee": "1168", 
         "MG": "619", 
         "PY": "973", 
         "PF": "894", 
         "PA": "768", 
         "PX": "943" 
        }, 
        { 
         "ReportDate": "04/14/2017", 
         "BT": "889", 
         "Ee": "1186", 
         "MG": "599", 
         "PY": "953", 
         "PF": "874", 
         "PA": "786", 
         "PX": "961" 
        }, 
        { 
         "ReportDate": "04/16/2017", 
         "BT": "1162", 
         "Ee": "932", 
         "MG": "872", 
         "PY": "1226", 
         "PF": "1147", 
         "PA": "532", 
         "PX": "707" 
        }, 
        { 
         "ReportDate": "04/18/2017", 
         "BT": "1020", 
         "Ee": "1055", 
         "MG": "730", 
         "PY": "1084", 
         "PF": "1005", 
         "PA": "655", 
         "PX": "830" 
        } 
       ] 
      } 
     } 
    } 
} 

我需要解析上面的Json。使用動態密鑰解析Json使用Retrofit 2.0

@FormUrlEncoded 
    @POST("services/webservices/") 
    Observable<ResComparision> getcomparisionDetail(@Field(value = "encAuthToken", encoded = true)String token, 
                @Field(value = "itemId", encoded = true) String productId, 
                @Field(value = "FromDate", encoded = true)String sdate, 
                @Field(value = "ToDate", encoded = true)String edate); 

解析他們我做了一個Pojo類。 但問題是「Datewise」的關鍵jsons數組的關鍵是動態的,在我當前的pojo類中,我已經採用了預定義的關鍵字,因此無法解析它們。

{ 
           "ReportDate": "04/18/2017", 
           "BT": "1020", 
           "Ee": "1055", 
           "MG": "730", 
           "PY": "1084", 
           "PF": "1005", 
           "PA": "655", 
           "PQA": "655", 
           "PX": "830" 
          }, 
    { 
           "ReportDate": "04/18/2017", 
           "PP": "1020", 
           "QB": "1055", 
           "MG": "730", 
           "PY": "1084", 
           "PF": "1005", 
           "PA": "655", 
           "VA": "655", 
           "PX": "830" 
          } 

有沒有什麼辦法來動態解析「Datewise」json數組的值?

+3

請檢查此鏈接是否有幫助https://stackoverflow.com/a/43347314/1252158 –

+0

可能重複[Retrofit 2.0從相同的POJO類解析動態json](https://stackoverflow.com/questions/43346726/retrofit-2-0-parse-dynamic-json-from-same-pojo-class) –

回答

-3

使用GSON解析this.For pojo類使用此網站。 http://www.jsonschema2pojo.org/

選擇以下 源類型:JSON, 註釋風格:GSON

點擊預覽您的POJO類將準備。

+0

是的,我使用這個,但事情是我的JSON響應鍵即將到來的動態。 – Raj

+2

你將如何爲動態json生成? –