2015-04-23 71 views
0

我想创建一个pojo,可以同时保存两个系列,并且当需要时,系列二。数据按年变化; 1975年有降雨数据,但1976年有雨雪数据。换句话说,我希望我的pojo能够持有多年只有雨量数据的雨量数据,以及多年有雨/雪数据的雨雪数据。如何利用重载pojo构造函数进行改造?

{ 
    "status": "REQUEST_SUCCEEDED", 
    "responseTime": 313, 
    "message": [ 
     "No Data Available for Series 2 Year: 1975" 
    ], 
    "Results": { 
     "series": [ 
      { 
       "seriesID": "1", 
       "data": [ 
        { 
         "year": "1976", 
         "period": "M12", 
         "periodName": "December", 
         "value": "171.8", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M11", 
         "periodName": "November", 
         "value": "172.1", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M10", 
         "periodName": "October", 
         "value": "172.7", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M09", 
         "periodName": "September", 
         "value": "173.3", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M08", 
         "periodName": "August", 
         "value": "174.2", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M07", 
         "periodName": "July", 
         "value": "174.8", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M06", 
         "periodName": "June", 
         "value": "176.0", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M05", 
         "periodName": "May", 
         "value": "176.9", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M04", 
         "periodName": "April", 
         "value": "178.1", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M03", 
         "periodName": "March", 
         "value": "178.7", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M02", 
         "periodName": "February", 
         "value": "179.0", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M01", 
         "periodName": "January", 
         "value": "179.6", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1975", 
         "period": "M12", 
         "periodName": "December", 
         "value": "179.9", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1975", 
         "period": "M11", 
         "periodName": "November", 
         "value": "180.8", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1975", 
         "period": "M10", 
         "periodName": "October", 
         "value": "182.0", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1975", 
         "period": "M09", 
         "periodName": "September", 
         "value": "182.9", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1975", 
         "period": "M08", 
         "periodName": "August", 
         "value": "183.8", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1975", 
         "period": "M07", 
         "periodName": "July", 
         "value": "184.4", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1975", 
         "period": "M06", 
         "periodName": "June", 
         "value": "186.4", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1975", 
         "period": "M05", 
         "periodName": "May", 
         "value": "187.9", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1975", 
         "period": "M04", 
         "periodName": "April", 
         "value": "188.8", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1975", 
         "period": "M03", 
         "periodName": "March", 
         "value": "189.7", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1975", 
         "period": "M02", 
         "periodName": "February", 
         "value": "190.3", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1975", 
         "period": "M01", 
         "periodName": "January", 
         "value": "191.8", 
         "footnotes": [ 
          {} 
         ] 
        } 
       ] 
      }, 
      { 
       "seriesID": "2", 
       "data": [ 
        { 
         "year": "1976", 
         "period": "M12", 
         "periodName": "December", 
         "value": "47.5", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M11", 
         "periodName": "November", 
         "value": "47.7", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M10", 
         "periodName": "October", 
         "value": "47.8", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M09", 
         "periodName": "September", 
         "value": "47.8", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M08", 
         "periodName": "August", 
         "value": "47.7", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M07", 
         "periodName": "July", 
         "value": "47.3", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M06", 
         "periodName": "June", 
         "value": "46.8", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M05", 
         "periodName": "May", 
         "value": "45.5", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M04", 
         "periodName": "April", 
         "value": "44.9", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M03", 
         "periodName": "March", 
         "value": "45.1", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M02", 
         "periodName": "February", 
         "value": "45.5", 
         "footnotes": [ 
          {} 
         ] 
        }, 
        { 
         "year": "1976", 
         "period": "M01", 
         "periodName": "January", 
         "value": "45.9", 
         "footnotes": [ 
          {} 
         ] 
        } 
       ] 
      } 
     ] 
    } 
} 
+0

创建一个包含雨雪数据的pojo,并且您可以检查一年的雪数据是否为空,如果它不为null,那一年包含下雪和降雨数据 –

+0

我想知道如何导致雪和日子到pojo,因为它们都被标记为“价值” – Pwnies

+0

不重要,因为值总是具有相同的数据类型,并通过检查年份,你可以检查它是否是雪数据或雨天数据 –

回答

0

我创建一个POJO在数据数组的对象

public class WeatherData 
{ 
public String year; 
public String period; 
public String periodName; 
public String Value; 
List<Footnotes> footnotes; 
} 

您可以创建getter和setter由你自己,我不知道脚注,因为它始终是空的,所以你可以改变的根据您的意愿,您可以通过查看会话系列ID来检查是下雨数据还是下雪数据,因为通过查看您的JSON,我认为seriesID 1包含降雨数据,而seriesID 2包含降雪数据,但是我会建议@ frek13也提到它会更好,如果你可以有两个变量一个用于降雨数据,一个用于降雪数据

+0

如何设置改造来完成这项工作?我已经使用jsonschema2pojo。我把结果,系列和基准作为我的模型;我摆脱了脚注,因为我真的没有看到它的用途。我如何设置我的数据,以便它能在雨和雪中变化? – Pwnies

+0

用您创建的POJO创建回调,回调将存储您的回复 –