我有以下JSON请求:
{
"one":{
"key":"value",
"key":"value",
"key":"value"
},
"two":[
"value"
],
"three":[
"value"
],
"four":[
"value"
]
}
如何将其表示为Java对象/数据结构?我通常可以从"two"
开始接受JSON并按如下方式处理:
@RequestBody Map<String, List<String>> inputParams
有什么建议吗?
答案 0 :(得分:0)
试试这个......
Map<String, Object> inputParams;
InnerObj innerObj = (InnerObj)inputParams.get("one");
List<String> secondList = (List)inputParams.get("two");
List<String> thirdLisr = (List)inputParams.get("three");
'''
其中
class InnerObj {
String key1;
String key2;
}
答案 1 :(得分:0)
您可以使用Google GSON https://github.com/google/gson并将您的json解析为POJO而不是使用它。例如:
{
"key1":"value1",
"key2":"value2",
"key3":"value3"
}
Gson gson = new Gson();
MyObj myObj = gson.fromJson(jsonObj, MyObj.class);
MyObj.java:
public class MyObj {
String key1;
String key2;
String key3;
}
在您的控制器中,您可以使用@RequestParam(value = "jsonObjFromClient") String jsonObj
注释。