从Json字符串了解Java对象的类型

时间:2018-10-25 12:50:34

标签: java json spring gson

我正在使用Spring Framework创建一个简单的Rest Web服务。 我有一个分配给“ / check”端点的方法。它接受带有正文的POST请求。正文包含我的自定义Java对象的json形式。这是我的检查方法:

@PostMapping("/check")
    public Status check(@RequestBody String body) throws JSONException, InterruptedException, ExecutionException {  

        Object data = gson.fromJson(body,Object.class);

        if(data instanceof LocationData)
        {
            return Status.VALID_OBJECT;
        }
        else 
        {
            return Status.INVALID_OBJECT;
        }       
    }

(状态是一种枚举,具有两个状态:VALID_OBJECT和INVALID_OBJECT)

我有一个“ LocationData”类。因此,我期望LocationData对象的json格式作为请求正文。我想了解请求是否具有正确的json格式。 “检查”方法不适用于正确的json格式。然后,我在控制台中检查“数据”的类型,它返回LinkedTreeMap。

我如何实现这个目标?

1 个答案:

答案 0 :(得分:0)

您可以在方法中使用LocationData类的正文:

public Status check(@RequestBody LocationData body) throws JSONException, InterruptedException, ExecutionException {
    ...
}

LocationData需要实现Serializable才能起作用。然后自动检查该对象的有效性。

更多信息here