Javaプログラマーの良いツール:jsonによってjavabean(pojo)を生成する

6766 ワード

私が開発したツールを紹介しますjson-to-java.Javaプログラマーがjsonによって対応するjavabeanを生成するのを助けることができます.このツールは、json戻りフォーマットのapiを呼び出す必要がある場合に特に役立ちます.
機能の紹介
私たちが開発したjavaシステムは、他のシステムのAPIを呼び出す必要があることが多い.これらのAPIの戻りフォーマットは、jsonフォーマットであることが多い.このユーティリティは、json形式のデータを、対応するjavabeanに変換するのに役立ちます.jsonプロパティを手動でコピーして貼り付ける作業を簡素化します.
誰が収益を上げますか?
サードパーティAPIを呼び出す必要がある場合、1、APIはJAVA SDKを提供していない、javaの応答フォーマットにマッピングされている、自分で2を書く、APIはSDKを提供しているが、SDKはやや重く、振り回されたくない
使用方法の説明
すぐに本プロジェクトをご利用ください.http://jsontojava.sinaapp.com/上のURLにアクセスするかgitのコードをダウンロードしてindexを開きます.html.ページは下図のようです.デフォルトでは、一例が表示されます.
1、左の入力ボックスにjsonデータ2を貼り付けると、右のボックスに対応するjavabeanが表示されます.3、右の内容をプロジェクトにコピーすることができます.
サポート機能
属性値を自動的に認識し、int、double、string、date、boolean、配列などを認識できます.
例えば、1、jsonフォーマット"created_at": "2012-05-23T08:00:58Z"はDateタイプとして識別され、属性private Date createdAt、識別配列が生成される
{
   "tags":[
        {"count":2416,"name":"   "},
        {"count":1914,"name":"  "},
        {"count":1185,"name":"      "},
        {"count":863,"name":"  "},
        {"count":647,"name":"  "},
        {"count":597,"name":"    "},
        {"count":495,"name":"  "},
        {"count":368,"name":"  "}
        ]
}

変換されます
public class Example {

   private List tags;


    public void setTags(List tags) {
        this.tags = tags;
    }
    public List getTags() {
        return tags;
    }

}

小文字の名前を自動的に付けたプロパティを、アルパカの名前に変換します.
create_atの属性名は、createdAtに変換され、注記が付きます
@JsonProperty("created_at")
private Date createdAt;

jsonが配列である場合、配列の最初の値が自動的に認識されます.
次の例のように、jsonが配列であると判断し、配列の最初の値でjavabeanを解析する
[
        {
          "id": 1,
          "username": "john_smith",
          "email": "[email protected]"
        },
        {
          "id": 2,
          "username": "jack_smith",
          "email": "[email protected]",
          "name": "Jack Smith"
        }
]

クリップボードへのワンタッチコピーをサポート
json解析エラーの場合、エラーの行が表示されます.
属性値がカスタムクラスであることを自動的に認識できる場合
値は下図のimagesプロパティのようなもので、その値は基本タイプ(string,intなど)ではなく、カスタムデータ構造です.
{
    "id":"1003078",
    "images":{
        "small":"http:\/\/img1.douban.com\/spic\/s1001902.jpg",
        "large":"http:\/\/img1.douban.com\/lpic\/s1001902.jpg",
        "medium":"http:\/\/img1.douban.com\/mpic\/s1001902.jpg"
     }
}

このようなカスタムクラスに対して、以下の処理1、属性のタイプ名(クラス名)を作成し、属性名を変換することにより得られる.以下の図において、属性のタイプはImagasであり、属性名imagesを頭文字に大文字に変換するものである
public class Example {
   private String id;
   private Images images;
}

2、カスタムクラスのjavabeanを一括生成
その他の説明
  • コードはgithub、githubアドレスに格納されていますhttps://github.com/giantray/text-to-javabean
  • ワンタッチアップロード機能は、
  • を使用するには、本プロジェクトをサーバに配備する必要があります.