从Java中的JSON字符串中检测JSON模式

时间:2015-03-24 20:53:49

标签: java json schema

我一直在寻找一种方法来检测来自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类的模式
  

JsonSchema schema = mapper.generateJsonSchema(myObjectClass.class);

但如果我这样做

  

JsonSchema schema = mapper.generateJsonSchema(json.getClass());

无论JSON字符串输入是什么,我都会离开这个:是这样的:

  

{“type”:“Object”}

那么,有谁知道如何检测我的未知对象的模式?

我认为这与从JsonNode正确构建POJO有关,但我不知道如何实现。

感谢您的见解。

0 个答案:

没有答案