Essayez ceci. Juste une note, la classe désérialisée Org
ne suit pas les conventions de dénomination Java pour correspondre au JSON. Si vous voulez les suivre, vous devez annoter des champs avec @SerializedName
public class Q13363304 {
class Org {
String State;
String Guid;
int Id;
String Name;
String ShortName;
@Override
public String toString() {
return "Org [State=" + State + ", Guid=" + Guid + ", Id=" + Id
+ ", Name=" + Name + ", ShortName=" + ShortName + "]";
}
}
/**
* @param args
*/
public static void main(String[] args) {
String json = "{ \"LightObjectSet\": { \"Objects\": { \"Org\": { \"State\":\"Unchanged\", \"Guid\":\"00000000-0000-0000-0000-000000000000\", \"Id\":\"39\", \"Name\":\"Test org\", \"ShortName\":\"Test\" } } } }";
JsonObject root = new JsonParser().parse(json).getAsJsonObject();
JsonObject lightObjectSet = root.get("LightObjectSet").getAsJsonObject();
JsonObject objects = lightObjectSet.get("Objects").getAsJsonObject();
JsonElement org = objects.get("Org");
Gson g = new Gson();
Org o = g.fromJson(org, Org.class);
System.out.print(o);
}
}
double possible de [Gson et se concentrer uniquement sur l'objet intérieur] (http://stackoverflow.com/questions/12825229/gson-and-only -concentrate-on-inner-object) – Collin