request获取路径上的参数和body中的参数并进行排序
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.io.IoUtil;
import net.sf.json.JSONObject;
import java.io.IOException;
import java.io.InputStreamReader;
@PostMapping("/testJson")
public JSONObject testJson(HttpServletRequest request) throws IOException {
Map<String, String[]> map = request.getParameterMap();
TreeMap<Object, Object> treeMap = new TreeMap<>();
if (ObjectUtil.isNotEmpty(map)){
Set<String> keys = map.keySet();
for (String key : keys) {
String[] value = map.get(key);
treeMap.put(key, value);
}
}else {
BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream()));
String read = IoUtil.read(reader);
JSONObject jsonObject = JSONObject.fromObject(read);
Iterator keys = jsonObject.keys();
while (keys.hasNext()){
String key = keys.next().toString();
String value = jsonObject.optString(key);
treeMap.put(key, value);
}
}
JSONObject json = JSONObject.fromObject(treeMap);
return json;
}