L'analyse JSON à POJO Java est à l'aide de GSON

J'ai une très simple question ici. J'ai besoin de prendre JSON à venir à partir de l'API et de la convertir en objets que j'ai créé pour eux.

Cette mesure, il sera désérialiser dans ma Liste, mais chaque Métrique objet possède des valeurs null

JSON À VENIR DANS

{
"metrics": [
{
"metric": {
"type": 1,
"name": "slide-11-start",
"value": "1287249598295",
"sessionID": "" 
} 
},
{
"metric": {
"type": 1,
"name": "slide-21-start",
"value": "1287249601368",
"sessionID": "" 
} 
},
{
"metric": {
"type": 7,
"name": "resolution",
"value": "1680x1050",
"sessionID": "" 
} 
},
{
"metric": {
"type": 6,
"name": "OS",
"value": "Linux",
"sessionID": "" 
} 
},
{
"metric": {
"type": 5,
"name": "browser",
"value": "Netscape",
"sessionID": "" 
} 
} 
]

}

Objet Métriques

public class Metric {
private int type;
private String name;
private String value;
private String sessionID;
/**
* @return the type
*/
public int getType() {
return type;
}
/**
* @param type the type to set
*/
public void setType(int type) {
this.type = type;
}
/**
* @return the name
*/
public String getName() {
return name;
}
/**
* @param name the name to set
*/
public void setName(String name) {
this.name = name;
}
/**
* @return the value
*/
public String getValue() {
return value;
}
/**
* @param value the value to set
*/
public void setValue(String value) {
this.value = value;
}
/**
* @return the sessionID
*/
public String getSessionID() {
return sessionID;
}
/**
* @param sessionID the sessionID to set
*/
public void setSessionID(String sessionID) {
this.sessionID = sessionID;
}
}

Conteneur Ojbect

import java.util.List;
/**
*
* @author joshua
*/
public class MetricSet {
private List<Metric> metrics;
/**
* @return the metrics
*/
public List<Metric> getMetrics() {
return metrics;
}
/**
* @param metrics the metrics to set
*/
public void setMetrics(List<Metric> metrics) {
this.metrics = metrics;
}
}

CODE POUR CONVERTIR AU FORMAT JSON

    String json = "";
if(request.getParameter("data") != null) {
json = request.getParameter("data");
}
MetricSet metrics = new MetricSet();
try {
Gson gson = new Gson();
Type listType = new TypeToken<MetricSet>() {}.getType();
metrics = gson.fromJson(json, MetricSet.class);
}
catch(Exception ex) {
String msg = ex.toString();
}

OriginalL'auteur Ethode | 2010-10-16