这是我的JSON
的样子:
{
"Meta Data":{
"1: Symbol":"MSFT",
"2: Indicator":"Moving Average Convergence/Divergence (MACD)",
"3: Last Refreshed":"2019-03-08",
"4: Interval":"daily",
"5.1: Fast Period":12,
"5.2: Slow Period":26,
"5.3: Signal Period":9,
"6: Series Type":"open",
"7: Time Zone":"US/Eastern"
},
"Technical Analysis: MACD":{
"2019-03-08":{
"MACD":"1.5751",
"MACD_Signal":"1.6779",
"MACD_Hist":"-0.1028"
},
"2019-03-07":{
"MACD":"1.8551",
"MACD_Signal":"1.7036",
"MACD_Hist":"0.1515"
},
"2019-03-06":{
"MACD":"1.9574",
"MACD_Signal":"1.6657",
"MACD_Hist":"0.2918"
}
}
}
我尝试通过在线工具生成POJO
,但是,它为每个数据生成了不同的POJO
。由于我的数据可能具有一百个日期。我想要一个通用的POJO
设置,该设置允许我将数据与日期一起存储,例如2D
数组或HashMap
。
编辑:我正在使用Android
,Retrofit
开发一个Gson
应用。
答案 0 :(得分:0)
固定键后(例如"Meta Data"
,"MACD"
等),您可以将JSON对象映射到POJO类。
当键是动态键(例如"1: Symbol"
,"2019-03-08"
,...)时,可以将JSON对象映射到Map
。
例如如果使用Gson:
class Root {
@SerializedName("Meta Data")
Map<String, String> metaData;
@SerializedName("Technical Analysis: MACD")
Map<String, Analysis> analysis;
}
class Analysis {
@SerializedName("MACD")
String macd;
@SerializedName("MACD_Signal")
String macdSignal;
@SerializedName("MACD_Hist")
String macdHist;
}