我有一个列表,我需要使用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
}
]
}
最好的方法是什么?
5条答案
按热度按时间dz6r00yl1#
下面是一个来自google gson文档的示例,介绍如何将列表转换为json字符串:
您需要在
toJson
方法中设置list的类型,并传递list对象,以将其转换为json字符串,反之亦然。9njqaruj2#
如果
marshal
方法中的response
是一个DataResponse
,那么这就是您应该序列化的。这将给予您提供所需的JSON输出。
6jygbczu3#
假设您还想以
而不是
您可以使用 * 漂亮的打印 *。若要这样做,请使用
cfh9epnr4#
请确保将您的集合转换为Array:
ioekq8ef5#
我们还可以使用另一种解决方法,首先创建myObject数组,然后将其转换为列表。
优点: