Java 合并多个集合<;字符串>;使用GSON转换为一个JSON字符串

Java 合并多个集合<;字符串>;使用GSON转换为一个JSON字符串,java,json,collections,gson,Java,Json,Collections,Gson,有没有办法将不同的字符串集合合并到一个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<

有没有办法将不同的字符串集合合并到一个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();
Collection vendor=bh.getAllVendors();
收集产品=bh.getProductsForVendor(供应商);
收集可用性=bh.getAllAvailabilities();
收集容量=bh.getCapacityForVendor(供应商);
采集信号=bh.GetSignalingFor供应商(供应商);
收集备份=bh.getBackupForVendor(vendor);
Gson Gson=新的Gson();
任何帮助都将不胜感激。

创建一个新类:

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

创建新类的“对象示例”部分:

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

阅读。

的“对象示例”部分。如果将它们添加到地图中,这将是最简单的:

    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));
Gson-Gson=new-Gson();
Map Map=newhashmap();
map.put(“供应商”,供应商);
地图放置(“产品”,产品);
//等
System.out.println(gson.toJson(map));
产生
{“产品”:[“bla”、“bla”、“bla”],“供应商”:[“Sun”、“IBM”、“HP”]}

如果将它们添加到地图中,将是最简单的:

    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));
Gson-Gson=new-Gson();
Map Map=newhashmap();
map.put(“供应商”,供应商);
地图放置(“产品”,产品);
//等
System.out.println(gson.toJson(map));
产生
{“产品”:[“bla”、“bla”、“bla”],“供应商”:[“Sun”、“IBM”、“HP”]}

Nice。唯一的问题是,如果以后您想反序列化它,您要么需要定义一个带有“vendor”、“product”等属性的类,要么需要编写一个自定义反序列化程序。更多详细信息,请参见Nice的其中一个答案。唯一的问题是,如果以后您想反序列化它,您要么需要定义一个带有“vendor”、“product”等属性的类,要么需要编写一个自定义反序列化程序。更多详细信息,请参见“感谢您提供此解决方案”的其中一个答案。我更喜欢这个答案,谢谢你的解答。与公认的答案相比,我更喜欢它。