1

異なる文字列コレクションを1つのJSON'文字列'にマージする方法はありますか?次のようなJSON文字列が必要です。

{"vendor":[Sun, HP, IBM],"product":[bla, bla, bla],"availability":[high, mid, low],"capacity":[bla, bla, bla], ...}

これは私のJavaコードの一部です:

Collection<String> vendor = bh.getAllVendors();
Collection<String> product = bh.getProductsForVendor(vendor);
Collection<String> availability = bh.getAllAvailabilities();
Collection<String> capacity = bh.getCapacityForVendor(vendor);
Collection<String> signaling = bh.getSignalingForVendor(vendor);
Collection<String> backup = bh.getBackupForVendor(vendor);

Gson gson = new Gson();

どんな助けでもいただければ幸いです。

4

2 に答える 2

7

それらをマップに追加すると最も簡単になります。

    Gson gson = new Gson();

    Map<String, Collection<String>> map = new HashMap<>();
    map.put("vendor", vendor);
    map.put("product", product);
    //etc

    System.out.println(gson.toJson(map));

を生成します {"product":["bla","bla","bla"],"vendor":["Sun","IBM","HP"]}

于 2012-04-20T10:44:32.770 に答える
2

新しいクラスを作成します。

Class MyJSONObject
  {
    Collection<String> vendor;
    Collection<String> product;
    Collection<String> availability;
    //...
    //...
  }

次に、のインスタンスでこれらの属性にデータを割り当てますMyJSONObject

次に、そのインスタンスをシリアル化します。

gson.toJson (myJSONObjectInstance);

このGSONドキュメントの「オブジェクトの例」セクションをお読みください。

于 2012-04-20T10:41:16.213 に答える