I want to parse the JSON data which response starts with the slash. I am using retrofit for parsing the data. thanks in advance. I have added the classes
/{
"data": [
{
"id": "1",
"text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."
},
{
"id": "2",
"text": "Felis donec et odio pellentesque diam volutpat commodo sed. Non arcu risus quis varius quam quisque. Nibh nisl condimentum id venenatis a condimentum vitae. Vel pharetra vel turpis nunc eget. "
},
{
"id": "3",
"text": "Volutpat sed cras ornare arcu dui vivamus arcu felis bibendum. Lobortis mattis aliquam faucibus purus in. Aliquam sem fringilla ut morbi tincidunt augue interdum."
},
{
"id": "4",
"text": "Elit scelerisque mauris pellentesque pulvinar pellentesque habitant morbi tristique. Bibendum at varius vel pharetra vel turpis nunc. Pellentesque sit amet porttitor eget dolor morbi non."
},
{
"id": "5",
"text": "Urna condimentum mattis pellentesque id. Ac tincidunt vitae semper quis. Massa tincidunt dui ut ornare lectus sit amet. Netus et malesuada fames ac turpis. Nulla facilisi cras fermentum odio eu feugiat pretium nibh."
},
{
"id": "6",
"text": "Tincidunt id aliquet risus feugiat in ante. Id donec ultrices tincidunt arcu non sodales neque sodales. Turpis massa tincidunt dui ut ornare lectus sit amet est. At ultrices mi tempus imperdiet nulla malesuada pellentesque elit."
},
{
"id": "7",
"text": "Fermentum posuere urna nec tincidunt praesent semper feugiat. Nulla facilisi etiam dignissim diam quis enim lobortis scelerisque fermentum. At auctor urna nunc id cursus metus aliquam eleifend mi."
},
{
"id": "8",
"text": "Quisque sagittis purus sit amet volutpat consequat mauris nunc congue. Malesuada fames ac turpis egestas sed. Volutpat ac tincidunt vitae semper. Aliquam nulla facilisi cras fermentum."
}
]
}
I am getting this error
com.google.gson.stream.MalformedJsonException: Use JsonReader.setLenient(true) to accept malformed JSON at line 1 column 2 path $
MainActivity
package com.basis.sliderapp.activity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.support.v7.widget.LinearLayoutManager;
import android.support.v7.widget.RecyclerView;
import android.util.Log;
import android.widget.Toast;
import com.basis.sliderapp.R;
import com.basis.sliderapp.adapter.DataAdapter;
import com.basis.sliderapp.apiCalls.ApiInterface;
import com.basis.sliderapp.model.BaseResponse;
import com.basis.sliderapp.model.Data;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonObject;
import java.util.ArrayList;
import java.util.List;
import retrofit2.Call;
import retrofit2.Callback;
import retrofit2.Response;
import retrofit2.Retrofit;
import retrofit2.converter.gson.GsonConverterFactory;
public class MainActivity extends AppCompatActivity {
private List<Data> searchResults = new ArrayList<>();
private RecyclerView rec_data;
private DataAdapter dataAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
rec_data = findViewById(R.id.rec_data);
dataAdapter = new DataAdapter( MainActivity.this, searchResults);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(MainActivity.this, 1, false);
rec_data.setLayoutManager(linearLayoutManager);
rec_data.setAdapter(dataAdapter);
getBasisData();
}
private void getBasisData() {
// Gson gson = new GsonBuilder()
// .setLenient()
// .create();
Retrofit retrofit = new Retrofit.Builder()
.baseUrl("https://git.io/")
.addConverterFactory(GsonConverterFactory.create())
.build();
ApiInterface apiInterface = retrofit.create(ApiInterface.class);
Call<BaseResponse> call = apiInterface.getData();
call.enqueue(new Callback<BaseResponse>() {
@Override
public void onResponse(Call<BaseResponse> call, Response<BaseResponse> response) {
BaseResponse baseResponse = response.body();
Log.d("list", baseResponse +"");
searchResults = baseResponse.getDataList();
dataAdapter.setList(searchResults);
}
@Override
public void onFailure(Call<BaseResponse> call, Throwable t) {
Toast.makeText(getApplicationContext(), "Something is Wrong", Toast.LENGTH_SHORT).show();
}
});
}
}
API Inteface====>
package com.basis.sliderapp.apiCalls;
import com.basis.sliderapp.model.BaseResponse;
import retrofit2.Call;
import retrofit2.http.GET;
import retrofit2.http.Query;
public interface ApiInterface {
@GET("/fjaqJ/")
Call<BaseResponse> getData();
}