2013-04-23 95 views
1

我剛剛下載了最新的jackson-module-jsonSchema(2.2.0)並想知道是否有人能夠提供一個用於爲複雜Java類型生成模式的示例(例如包含一些SubObjectList<SubObject>)?Jackson JSON模式生成複雜的Java類型

我是能夠成功地創造了「扁平」架構有以下幾點:在何種意義上

ObjectMapper m = new ObjectMapper(); 
SchemaFactoryWrapper visitor = new SchemaFactoryWrapper(); 
m.acceptJsonFormatVisitor(m.constructType(RuleSet.class), visitor); 
JsonSchema jsonSchema = visitor.finalSchema(); 
return jsonSchema; 
+0

你能顯示'RuleSet'和引用類型的定義嗎?這可以更容易地看到生成的內容。 – StaxMan 2013-04-25 00:59:25

+0

@StaxMan所以我意識到我用JsonPoperty註解註解的屬性返回的是Object []的實例,而不是List 。顯然,傑克遜在這一點上不能確定任何東西,所以它將它留在物業名下。當我切換到列表 Jackson按預期行事並填寫了MyObject的模式。 – Tom 2013-04-25 20:17:10

+1

啊!是的,這將解釋它。儘管如果有一個佔位符可以指出問題,它會很好。 – StaxMan 2013-04-25 20:18:33

回答

1

實例?您應該能夠使用根類型生成模式,並且引用類型應該遞歸地生成模式定義。

+0

在我上面的示例中,RuleSet類是一個複雜類型,但生成的模式是平坦的;沒有爲引用類型生成的模式。我錯過了什麼嗎? – Tom 2013-04-24 16:20:07

+0

好的。我的理解是,引用類型也應該在模式中定義。但我沒有廣泛使用這個模式。 – StaxMan 2013-04-25 00:57:07