Я хочу преобразовать массив Json в список объектов. Json Array выглядит примерно так:
{
"servers": [
{
"id": "616fb98f-46ca-475e-917e-2563e5a8cd19",
"links": [
{
"href": "http://openstack.example.com/v2/openstack/
servers/616fb98f-46ca-475e-917e-2563e5a8cd19",
"rel": "self"
},
{
"href": "http://openstack.example.com/openstack/servers/
616fb98f-46ca-475e-917e-2563e5a8cd19",
"rel": "bookmark"
}
],
"name": "new-server-test"
}
]
}
Классы, которые я использовал для отображения этого массива Json:
@XmlRootElement
public class GetServersResponse{
private List<Server> servers;
}
public class Server {
private String id;
private List<Link> links;
private String name;
//getter and setter methods
}
public class Link {
private String href;
private String rel;
//getter and setter methods
}
Клиент:
public class Openstack
{
private final Client c;
private String output;
private GetServersResponse clientResponse;
WebTarget webTarget;
private String token;
public Openstack()
{
ClientConfig clientConfig = new ClientConfig();
clientConfig.property(ClientProperties.CONNECT_TIMEOUT, Config.CONNECT_TIMEOUT);
clientConfig.property(ClientProperties.READ_TIMEOUT, Config.READ_TIMEOUT);
c = ClientBuilder.newClient(clientConfig);
}
public GetServersResponse getServers(String tenant_id)throws IOException
{
webTarget = c.target("www.myexample.com");
clientResponse = webTarget.request()
.header("X-Auth-Token",token)
.accept(MediaType.APPLICATION_JSON_TYPE)
.get(GetServersResponse.class);
return (clientResponse);
}
Проблема в том, что Json, возвращенный клиенту, всегда пуст. Кто-нибудь имеет представление о том, где может быть ошибка? Спасибо за вашу помощь!
Чтобы правильно использовать функцию moxy, вы ДОЛЖНЫ внедрить метод getter/setter для всех классов Java, которые вы используете для сопоставления json-пакета. В вашем случае вы должны реализовать метод set и get для "серверов списков" и все другое свойство объектов, участвующих в обработке преобразования. Если вы используете Netbeans, вы можете использовать функцию "Инкапсулировать Fileds" из ваших свойств объектов, чтобы создавать очень быстрые методы getter и setter. Наслаждаться (: