シリアル化中にJSONプロパティ名を独自の変数名にマッピングするにはどうすればよいですか?

ジョン

以下のJSONをDataMetricsクラスにシリアル化しようとしています-

String json = "[{\"min\": 0,\"max\": 1209,\"avg\": 1.9203402,\"count\": 7344636,\"sumSq\": 71832774,  \"stddev\": 2.4683187, \"median\": 2,\"percentileMap\": {\"95\": 4},\"metricName\": \"TransactionDuration\",\"dimensions\": {\"env\": \"dev\",\"pool\": \"titan\",\"Name\": \"Client::Sync\", \"Type\": \"Client::Sync\"},\"value\": 14104200}]";

一般に、ネストされたオブジェクトのdimensions場合は、別のPOJOを宣言します

class DataMetrics {

private String metricName;
private Map<String, Integer> percentileMap;
private String median;
private String stddev;
private String sumSq;
private String count;
private String avg;
private String max;
private String min;

  private Dimensions dimensions;

  private class Dimensions{
    private String env;
    private String pool;
    private String Name;
  }
}

そして、以下は私が持っているコードで、うまく機能します-

public void test() {
    String json = "[{\"min\": 0,\"max\": 1209,\"avg\": 1.9203402,\"count\": 7344636,\"sumSq\": 71832774,  \"stddev\": 2.4683187, \"median\": 2,\"percentileMap\": {\"95\": 4},\"metricName\": \"TransactionDuration\",\"dimensions\": {\"env\": \"dev\",\"pool\": \"titan\",\"Name\": \"Client::Sync\", \"Type\": \"Client::Sync\"},\"value\": 14104200}]";

    final Gson gson = new Gson();
    final Type type = new TypeToken<List<DataMetrics>>() {}.getType();
    final List<DataMetrics> records = gson.fromJson(json, type);
}

ここで、メンバー変数名は、JSONプロパティ名と完全に一致しています。

  • stdDev => stddev
  • name => Name
  • percentile => percentileMap

可能であれば、独自の変数名を付けて、JSONプロパティ名をそれらの名前にマップする方法はありますか?NameDimensionsクラスに変数名として保持たくありません

mike_m

SerializedName注釈を使用する

import com.google.gson.annotations.SerializedName;

class DataMetrics {

    [..]

    private Dimensions dimensions;

    private class Dimensions{
        private String env;
        private String pool;
        @SerializedName("Name")
        private String nameYouWant;
    }
}

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Json.NETでシリアル化するときに、すべてのプロパティ名を再マッピングするための一般的なルールを適用するにはどうすればよいですか?

分類Dev

Json.netでシリアル化するときにプロパティ名を変更するにはどうすればよいですか?

分類Dev

コレクションをネストされたコレクションプロパティの要素でグループ化されたグアバマルチマップに変換するにはどうすればよいですか?

分類Dev

マテリアルUIの日付ピッカーのパディングを変更するにはどうすればよいですか?

分類Dev

オプションのプロパティを使用してJSONを逆シリアル化するにはどうすればよいですか?

分類Dev

Jacksonの逆シリアル化を実行しているときに、JSONフィールド名をJava互換のプロパティ名に変換するにはどうすればよいですか?

分類Dev

プロパティをマッピングから除外するにはどうすればよいですか

分類Dev

Automapperを使用してマッピング中にプロパティを変更するにはどうすればよいですか?

分類Dev

@Anyアノテーション付きプロパティを双方向マッピングするにはどうすればよいですか?

分類Dev

JSONマッピング配列を独自のプロパティに逆シリアル化します

分類Dev

非公開のコレクションプロパティをEntityFramework Code Firstでマッピングするにはどうすればよいですか?

分類Dev

プロパティ名の代わりにプロパティ値を表示するためにjsonをシリアル化するにはどうすればよいですか?

分類Dev

Springアプリケーションのすべてのプロパティのマップを取得するにはどうすればよいですか?

分類Dev

コンストラクターに渡されたプロパティのみをシリアル化するにはどうすればよいですか?

分類Dev

コンストラクターに渡されたプロパティのみをシリアル化するにはどうすればよいですか?

分類Dev

JSON.NETのList <T>プロパティを使用したシリアル化中に、nullのJSONプロパティをデフォルトで空の配列にするにはどうすればよいですか?

分類Dev

Json.netでシリアル化するときにタイプに応じてプロパティ名を変更するにはどうすればよいですか?

分類Dev

Newtownsoftを使用して、プロパティ名なしでオブジェクトをシリアル化するにはどうすればよいですか?

分類Dev

複数のプロパティをAngular6の配列にマッピングするにはどうすればよいですか?

分類Dev

初期化後に変更できないサンプル名を表すプロパティを追加するにはどうすればよいですか?

分類Dev

マッピングテーブルの複数の行を列にロールアップするにはどうすればよいですか?

分類Dev

エスケープされたJSON文字列を含むプロパティを逆シリアル化するにはどうすればよいですか?

分類Dev

動的なjsonプロパティをオブジェクトに逆シリアル化するにはどうすればよいですか?

分類Dev

ナビゲーションプロパティを使用して、マッピングテーブルを持つ2つのエンティティのデータを取得するにはどうすればよいですか?

分類Dev

ExpandoObjectをプロパティ/値のペアにXMLシリアル化するにはどうすればよいですか?

分類Dev

Automapperマッピングでソースプロパティの元の値を保持するにはどうすればよいですか?

分類Dev

プロパティがWCFでシリアル化されるのを条件付きで回避するにはどうすればよいですか?

分類Dev

ジャクソンJSONのカスタムキータイプを使用してMapプロパティをカスタムでシリアル化または変換するにはどうすればよいですか?

分類Dev

Elasticsearch NESTでタイプJTokenまたはJObjectのプロパティをシリアル化するにはどうすればよいですか?

Related 関連記事

  1. 1

    Json.NETでシリアル化するときに、すべてのプロパティ名を再マッピングするための一般的なルールを適用するにはどうすればよいですか?

  2. 2

    Json.netでシリアル化するときにプロパティ名を変更するにはどうすればよいですか?

  3. 3

    コレクションをネストされたコレクションプロパティの要素でグループ化されたグアバマルチマップに変換するにはどうすればよいですか?

  4. 4

    マテリアルUIの日付ピッカーのパディングを変更するにはどうすればよいですか?

  5. 5

    オプションのプロパティを使用してJSONを逆シリアル化するにはどうすればよいですか?

  6. 6

    Jacksonの逆シリアル化を実行しているときに、JSONフィールド名をJava互換のプロパティ名に変換するにはどうすればよいですか?

  7. 7

    プロパティをマッピングから除外するにはどうすればよいですか

  8. 8

    Automapperを使用してマッピング中にプロパティを変更するにはどうすればよいですか?

  9. 9

    @Anyアノテーション付きプロパティを双方向マッピングするにはどうすればよいですか?

  10. 10

    JSONマッピング配列を独自のプロパティに逆シリアル化します

  11. 11

    非公開のコレクションプロパティをEntityFramework Code Firstでマッピングするにはどうすればよいですか?

  12. 12

    プロパティ名の代わりにプロパティ値を表示するためにjsonをシリアル化するにはどうすればよいですか?

  13. 13

    Springアプリケーションのすべてのプロパティのマップを取得するにはどうすればよいですか?

  14. 14

    コンストラクターに渡されたプロパティのみをシリアル化するにはどうすればよいですか?

  15. 15

    コンストラクターに渡されたプロパティのみをシリアル化するにはどうすればよいですか?

  16. 16

    JSON.NETのList <T>プロパティを使用したシリアル化中に、nullのJSONプロパティをデフォルトで空の配列にするにはどうすればよいですか?

  17. 17

    Json.netでシリアル化するときにタイプに応じてプロパティ名を変更するにはどうすればよいですか?

  18. 18

    Newtownsoftを使用して、プロパティ名なしでオブジェクトをシリアル化するにはどうすればよいですか?

  19. 19

    複数のプロパティをAngular6の配列にマッピングするにはどうすればよいですか?

  20. 20

    初期化後に変更できないサンプル名を表すプロパティを追加するにはどうすればよいですか?

  21. 21

    マッピングテーブルの複数の行を列にロールアップするにはどうすればよいですか?

  22. 22

    エスケープされたJSON文字列を含むプロパティを逆シリアル化するにはどうすればよいですか?

  23. 23

    動的なjsonプロパティをオブジェクトに逆シリアル化するにはどうすればよいですか?

  24. 24

    ナビゲーションプロパティを使用して、マッピングテーブルを持つ2つのエンティティのデータを取得するにはどうすればよいですか?

  25. 25

    ExpandoObjectをプロパティ/値のペアにXMLシリアル化するにはどうすればよいですか?

  26. 26

    Automapperマッピングでソースプロパティの元の値を保持するにはどうすればよいですか?

  27. 27

    プロパティがWCFでシリアル化されるのを条件付きで回避するにはどうすればよいですか?

  28. 28

    ジャクソンJSONのカスタムキータイプを使用してMapプロパティをカスタムでシリアル化または変換するにはどうすればよいですか?

  29. 29

    Elasticsearch NESTでタイプJTokenまたはJObjectのプロパティをシリアル化するにはどうすればよいですか?

ホットタグ

アーカイブ