1
反序列化一個類似於值
我想寫這樣一個功能:
public <T> Value<T> getValue (json, Class<T> clazz) {
// THE PROBLEM: T becomes Object so the resulting
// Value will hold an Object as value
Type type = new TypeToken<Value<T>>() {}.getType();
return gson.fromJson(json, type);
}
的Expample是:
Value<User> value = new Value<User>(
new User("Max", "Hu", new Address("5th Av.","NY")), "infos");
// Works fine
String json gson.toJson(value, new TypeToken<Value<User>>() {}.getType())
// dosen't work
getValue(json, User.class)
的相應類:
class Value<T> {
T value;
String someInfos;
}
class User {
String name;
String lastName;
Address address;
}
class Address {
String street;
String city;
}
我是否錯過了什麼?
你的JSON例子並不代表一個數組,但你試圖將它反序列化爲一個'List'。因此,你的意圖是什麼混淆。請提供初始JSON輸入的有效示例。 – BalusC 2011-05-26 13:25:21
對不起,我花了很少時間寫這個問題。希望它現在變得更清晰。 – scheffield 2011-05-27 07:05:51