2016-11-16 8 views
-1
[{"contacts": 
    [ 
     { 
      "name": "Ramesh Sippi", 
      "email": "[email protected]", 
      "phone": 9972366543, 
      "officePhone": 80, 
      "latitude": 18.5204, 
      "longitude": 73.8567 
     } 
    ] 
}] 

Я пытался десериализации выше JSON, но он показывает:Как десериализовать данные json с помощью GSON?

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); 
}} 

Пожалуйста, помогите мне out.Any ресурс или учебник, который помог вам в десериализации.

+0

Возможный дубликат [Как разобрать JSON в Java] (http://stackoverflow.com/questions/2591098/how-to-parse-json-in-java) –

ответ

1

json.getAsJsonArray().getAsJsonObject() такая же, как json.getAsJsonObject(), и что является причиной вашего исключения.

Возможно, вы имели в виду json.getAsJsonArray().get(0).getAsJsonObject().

+0

plz help me with dis josn ** data: [{key: value}, null, {key: value}] ** – Manish

+0

@Manish Если у вас есть вопрос, вы должны задать вопрос (нажмите ссылку «Задать вопрос») в верхнем правом углу), а не контрейлерные ответы на вопрос кого-то другого. – Andreas

+0

sry, но я просто хочу сказать, что, как я parsw, что json – Manish

-1

Похоже, что у вас есть ваш json внутри [], что указывает на массив. Попробуйте:

{ 
    "contacts": 
    [ 
     { 
      "name": "Ramesh Sippi", 
      "email": "[email protected]", 
      "phone": 9972366543, 
      "officePhone": 80, 
      "latitude": 18.5204, 
      "longitude": 73.8567 
     } 
    ] 
} 
+0

Я не могу изменить формат JSON. – rozer

Смежные вопросы