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