2013-03-19 105 views
3

Java類,我想從一個給定的JSON模式draft 4 version生成從JSON模式

生成Java類我評估夫婦的工具和jsonschema2pojo被發現是有用的。但它只支持json schema draft-3版本(雖然json schema draft 4已經在他們的路線圖中)。

任何人都可以建議我一個工具或一種方法來從JSON架構生成Java類(兼容JSON架構草案4) ? 在此先感謝。

回答

0

你可以試試cog,一個用Ruby編寫的通用代碼生成器。我在github上放了一個名爲json2java的簡單項目,演示瞭如何使用cog從json數據生成Java類。

不確定你想要做什麼,但這是我的設想。 JSON數據會是這個樣子

{ 
    "classname": "Sample", 
    "methods": [ 
     { 
      "name": "foo", 
      "rtype": "void", 
      "params": [ 
       { 
        "name": "arg1", 
        "type": "int" 
       } 
      ] 
     }, 
     { 
      "name": "bar", 
      "rtype": "int", 
      "params": [] 
     } 
    ] 
} 

而且相應的Java類會是這個樣子

public class Sample { 

    void foo(int arg1) { 
// keep: foo { 
     // While the interface in this example is generated, 
     // the method bodies are preserved between multiple invocations 
     // of the generator. 

     // It doesn't have to be done this way, the method bodies can be 
     // generated aswell, all depends on what your json data encodes 
// keep: } 
    } 

    int bar() { 
// keep: bar { 
     return 1; 
// keep: } 
    } 

} 

如果你想嘗試COG,安裝這樣gem install cog,並運行發電機這樣的cog gen。查看cog主頁以獲取文檔。

+0

感謝Kevin.I正在使用符合json架構草案4版本的json「schema」(而不是json字符串)中的maven生成java類。如果它對我有幫助,我將查看您建議的工具。 – Saraswathi 2013-04-12 05:26:33

+0

是的,問題不是單獨解析json,而是使用JSON Schema生成類,JSON Schema是JSON結構的正式規範並支持驗證等。 – sofend 2017-11-08 07:51:56