sumesh sumesh - 1 year ago 121
Android Question

Android- Retrofit - java.lang.NullPointerException: Attempt to invoke virtual method

I am trying to parse following JSON using Retrofit in android.

"message": false,
"suggestions": false,

"vehicle": {
"parked": true,
"uin": "15",
"vin": "WBAEG1312MCB42267",
"make": "Bmw",
"model": "E8SERIES",
"color": "Blue",
"year": "1991",
"package": "Premium",
"options": "",
"interior": "Color: Cream, Type:Leather",
"exterior": "",
"activity": "Parked",
"username": "Dhruba Sarma",
"timestamp": "04-Sep, 00:35",
"latlng": {
"lat": 12.899270164792,
"lng": 77.646080134509

I have created my model classes as follows -

public class VehicleModel {

private boolean message;
private boolean suggestions;
private Vehicle vehicle;

public boolean isMessage() {
return message;

public boolean isSuggestions() {
return suggestions;

public Vehicle getVehicle() {
return vehicle;
public class Vehicle {

private boolean parked;
private String uin;
private String vin;
private String make;
private String model;
private String color;
private String year;
private String _package;
private String options;
private String interior;
private String exterior;
private String activity;
private String username;
private String timestamp;
private LatLng latlng;

public boolean isParked() {
return parked;

public String getUin() {
return uin;

public String getVin() {
return vin;

public String getMake() {
return make;

public String getModel() {
return model;

public String getColor() {
return color;

public String getYear() {
return year;

public String getPackage() {
return _package;

public String getOptions() {
return options;

public String getInterior() {
return interior;

public String getExterior() {
return exterior;

public String getActivity() {
return activity;

public String getUsername() {
return username;

public String getTimestamp() {
return timestamp;

public LatLng getLatlng() {
return latlng;


public class LatLng {

private String lat;
private String lng;

public String getLat() {
return lat;

public String getLng() {
return lng;


public class VehicleJSONResponse {

private VehicleModel vehicle;

public VehicleModel getVehicleJSONResponse() {
return vehicle;

And here is how i am parsing

Retrofit retrofit = new Retrofit.Builder().baseUrl(baseurl)

VehicleRequestInterface request = retrofit.create(VehicleRequestInterface.class);
Call<VehicleJSONResponse> call = request.getVehicleJSON(url);
call.enqueue(new Callback<VehicleJSONResponse>() {
public void onResponse(Call<VehicleJSONResponse> call, Response<VehicleJSONResponse> response) {

VehicleJSONResponse jsonResponse = response.body();

vehicleData = jsonResponse.getVehicleJSONResponse();`

Now the problem is when i try to retrieve the data using below code, i get the value of message and suggestions as expected. But i get

Code to retrieve data
>>> This is always null
>> This is false as expected.

Can anyone please help me here and suggest what am i doing wrong ?

Answer Source

You're getting response of VehicleModel json from server. So replace VehicleJsonResponse in VehicleRequestInterface with VehicleModel and it should work as expected.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download