一尘不染

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

json

我有一个列表,我需要使用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 = ??
}

到目前为止,列表中只有两项-所以我需要这样的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
      }
   ]
}

做这个的最好方式是什么?


阅读 637

收藏
2020-07-27

共1个答案

一尘不染

如果response在您的marshal方法中为DataResponse,则应进行序列化。

Gson gson = new Gson();
gson.toJson(response);

这将为您提供所需的JSON输出。

2020-07-27