2013-03-19 3 views
3

Я хотел бы генерировать классы JAVA из данной JSON Schema draft 4 versionГенерирование Java классов из JSON схемы

я оценил несколько инструментов и jsonschema2pojo был найден, чтобы быть полезными. Но он поддерживает только версию схемы json-схемы-3 (хотя проект схемы json 4 находится в их дорожной карте).

Может ли кто-нибудь предложить мне инструмент или способ генерации классов java из json-схемы (совместимой с json schema draft4) ? Спасибо заранее.

ответ

0

Вы можете попробовать cog генератор кода общего назначения, написанный на Ruby. Я поставил простой проект на github под названием json2java, который демонстрирует, как cog может использоваться для генерации Java-классов из json-данных.

Не уверен, что именно вы хотите сделать, но вот что я предполагал. Данные 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: } 
    } 

} 

Если вы хотите попробовать шестеренку, установить его как этот gem install cog, и запускать генераторы, как это cog gen. Проверьте документацию на домашней странице cog.

+0

Спасибо Kevin. Я хочу генерировать классы Java, используя maven из json-схемы (не строки json), которая соответствует схеме json schema draft 4 version.I заглянет в инструмент, который вы предложили, если это поможет мне. – Saraswathi

+0

Да, вопрос заключался в том, что не разбирался только один json, а генерировал класс, используя схему JSON, которая является формальной спецификацией структуры JSON и поддерживает проверку и т. Д. – sofend