java - 如何使用 GSON 将 List 转换为 JSON 对象?

标签 java arrays json gson

我有一个需要使用 GSON 将其转换为 JSON 对象的列表。我的 JSON 对象中有 JSON 数组。

public class DataResponse {

    private List<ClientResponse> apps;

    // getters and setters

    public static class ClientResponse {
        private double mean;
        private double deviation;
        private int code;
        private String pack;
        private int version;

        // getters and setters
    }
}

下面是我的代码,我需要将我的列表转换为其中包含 JSON 数组的 JSON 对象 -

public void marshal(Object response) {

    List<DataResponse.ClientResponse> clientResponse = ((DataResponse) response).getClientResponse();

    // now how do I convert clientResponse list to JSON Object which has JSON Array in it using GSON?

    // String jsonObject = ??
}

到目前为止,我在 List 中只有两个项目 - 所以我需要这样的 JSON 对象 -

{  
   "apps":[  
      {  
         "mean":1.2,
         "deviation":1.3
         "code":100,
         "pack":"hello",
         "version":1
      },
      {  
         "mean":1.5,
         "deviation":1.1
         "code":200,
         "pack":"world",
         "version":2
      }
   ]
}

最好的方法是什么?

最佳答案

有一个来自 google gson documentation 的示例关于如何将列表实际转换为 json 字符串:

Type listType = new TypeToken<List<String>>() {}.getType();
 List<String> target = new LinkedList<String>();
 target.add("blah");

 Gson gson = new Gson();
 String json = gson.toJson(target, listType);
 List<String> target2 = gson.fromJson(json, listType);

您需要在toJson方法中设置列表的类型,并传递列表对象将其转换为json字符串,反之亦然。

关于java - 如何使用 GSON 将 List 转换为 JSON 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27893342/

相关文章:

c - 如何在 c 中打印字符的十进制表示形式?

python - 如何以不同的名称序列化 Marshmallow 字段

java - 温度转换值不正确

java - 在 Java 中扩展双引号内的变量

java - 分治赫尔算法

python - 将 numpy 数组的部分复制到另一个具有额外维度的数组

java - 如何按集合中对象的属性对列表进行排序?

javascript - 将数组上解析的字符串存储到另一个数组

ios - 如何将json响应数据分解为多个字符串?

javascript - $resource 在 AngularJS 中响应一个空数组