我一直在寻找一种方法来检测来自Java的JSON字符串的JSON对象的模式。 我发现很多方法可以将JSON字符串转换为POJO,但我发现的所有示例都要求Java类将JSON转换为提前知道和定义。
我的JSON是数据,我不知道它的结构,所以我不能这样做。
我也看到很多方法将POJO序列化为JSON,大多数问题的答案是使用Jackson模块,但我仍然没有找到我的问题的答案:
我想读一个我不知道结构的JSON字符串,并检测它的模式。有一个模块可以做到这一点吗?我可以通过它来处理并处理不同的情况,但这必须在以前完成!
我知道我可以用
之类的东西读取JSONmapper = new org.codehaus.jackson.map.ObjectMapper();
JsonNode json = mapper.readTree(in);
我可以用
读取Java类的模式JsonSchema schema = mapper.generateJsonSchema(myObjectClass.class);
但如果我这样做
JsonSchema schema = mapper.generateJsonSchema(json.getClass());
无论JSON字符串输入是什么,我都会离开这个:是这样的:
{“type”:“Object”}
那么,有谁知道如何检测我的未知对象的模式?
我认为这与从JsonNode正确构建POJO有关,但我不知道如何实现。
感谢您的见解。