一、概述
前端提交的Json数据中包含数据列表,列表中存有Json对象。后端接收到数据后需要将数据转换为Java数据类型。
后端使用的Springboot Web框架。
二、PostMan 模拟的 POST请求数据
{
"stationNo":1,
"forecastType":1,
"dataList":[
{
"time": "2022-01-01 00:00",
"originValue": 18.9,
"modifiedValue": 20.0
},
{
"time": "2022-01-01 00:15",
"originValue": 19.9,
"modifiedValue": 25.0
}
]
}
三、后端解析
@PostMapping( "/submit" )
public String submit( @RequestBody Map<String,Object> reqParam ) throws FileNotFoundException, JSONException
{
//request param
int stationNo = (int)reqParam.get( "stationNo" );
int forecastType = (int)reqParam.get( "forecastType" );
//Json数组转换为Java List
List< ? > dataList = (List< ? >)reqParam.get("dataList" );
//Java List中数据转换为
for( Object obj : dataList )
{
Map<String, Object> map = (Map<String, Object>)obj;
String time = (String) map.get( "time" );
double originValue = (double)map.get( "originValue" );
double modifiedValue = (double)map.get( "modifiedValue" );
}
}
备注:
- Object直接强转Map存在警告,本文忽略了该警告,有兴趣的可自行解决;