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 回答