JSON请求Java数据结构

时间:2016-08-15 10:25:44

标签: java json spring rest

我有以下JSON请求:

{
    "one":{
        "key":"value",
        "key":"value",
        "key":"value"
    },
    "two":[
        "value"
    ],
    "three":[
        "value"
    ],
    "four":[
        "value"
    ]
}

如何将其表示为Java对象/数据结构?我通常可以从"two"开始接受JSON并按如下方式处理:

@RequestBody Map<String, List<String>> inputParams

有什么建议吗?

2 个答案:

答案 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注释。