2017-01-19 8 views
0

サービスから大量のjsonオブジェクトを受信して​​いますが、これまでに入ってきたjsonと一致するようにPOJOを作成しています。 しかし、これはあまりに面倒です私が打つすべての異なったサービス私が打っている新しいサービスを表すために15-20の新しいモデルクラスを構築しなければなりません。私が欲しいこの場合にはそうJsonをJava(Jackson)に変換する簡単な方法

random1 { 

    random2 { 

     arrayOfRandoms 

    } 

    random3 { 

     random4 { 

      random5 { 
       someValueIWant 
      } 
     } 
    } 
} 

:要するに

は、私が探している(フォーマットのため申し訳ありませんが)、私は以下のようにJSONにneestedオブジェクトから必要な値を取得する方法ですrandom5s someValueIWantオブジェクトです。私はこれを全部やっているので、random1/3/4/5のモデルを作成せずにそれを取得したいと思います。

ジャンクスをJavaオブジェクトに変換するためにJacksons ObjectMapperを使用することに言及する必要があります。

希望はこれが理にかなっています。

+1

また、JSONをマップにマップすることで、JSONを非マーシャル化することもできます。 – Tom

+0

これは、私が欲しいキーを指定することができますか? jsonに同じ名前のオブジェクトが複数あるが、実際には異なるオブジェクトがある場合はどうでしょうか?たとえば、上記の例ではrandom2がrandom5と呼ばれていた場合、random5という名前のオブジェクトが2つあります。それは私が受け取るJSONのいくつかの方法です:( – fiverivers

+0

JSONパスを試すことができます –

答えて

0

あなたはこのオンラインPOJOジェネレータを試しできます

http://www.jsonschema2pojo.org/

それはプレーンなJSON(またはJSONスキーマ)からJavaクラスを生成しても、ジャクソンの注釈を追加します。

  • [追加プロパティを許可する]をオンにしてください。
  • それは、入力として有効なJSONを必要とするので、二重引用符を忘れないように周りの名前をフィールドとあなた自身が、多くの場合、でも、スクリプトのバージョンとMavenプラグインがありますことをやって見つければ

値。

関連する問題