[{"contacts":
[
{
"name": "Ramesh Sippi",
"email": "ramesh.sippi@gmail.com",
"phone": 9972366543,
"officePhone": 80012345676,
"latitude": 18.5204,
"longitude": 73.8567
}
]
}]
我尝试反序列化上面的JSON,但它显示:
java.lang.IllegalStateException: Not a JSON Object
反序列化程序类是:
public class Deserializer implements JsonDeserializer<List<ContactDetails>> {
@Override
public List<ContactDetails> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException {
String CONTACTS = "contacts";
return new Gson().fromJson(json.getAsJsonArray().getAsJsonObject().getAsJsonArray(CONTACTS),typeOfT);
}}
请帮助我。帮助您反序列化的任何资源或教程。
答案 0 :(得分:1)
json.getAsJsonArray().getAsJsonObject()
与json.getAsJsonObject()
相同,这是您例外的原因。
你可能意味着json.getAsJsonArray().get(0).getAsJsonObject()
。
答案 1 :(得分:-1)
看起来你的json里面有你的json,这表示一个数组。尝试:
{
"contacts":
[
{
"name": "Ramesh Sippi",
"email": "ramesh.sippi@gmail.com",
"phone": 9972366543,
"officePhone": 80012345676,
"latitude": 18.5204,
"longitude": 73.8567
}
]
}