2013-03-19 101 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