Parse json array in android with free source code download
We will be using retrofit,gson for parsing, so go to your app level build.gradle and add the following as dependencies
implementation 'com.squareup.retrofit2:retrofit:2.0.0-beta4'
implementation 'com.squareup.retrofit2:converter-gson:2.3.0'please add the latest dependency versions for retrofit, converter-gson
Hi, in this tutorial we are about to parse the below json array. Check this json array >> https://navneet7k.github.io/sample_array.json
![]() |
| Clearly, the json is of the form [{},{}..] . It is a json array, hence we can parse it as a list from android |
1) Automatic model class/pojo class generation using http://www.jsonschema2pojo.org/
- So, first of all, go to http://www.jsonschema2pojo.org/
- Paste the json https://navneet7k.github.io/sample_array.json in the box provided
![]() |
| Specify Target language as Java, Source Type as JSON and annotation style as Gson |
- Now click preview and copy the generated java files
![]() |
| Now copy the contents of the class and add it in android studio project |
Now in the android studio project, create a new java file Cars.java and add the above generated code inside it like shown below
Cars.java
public class Cars { @SerializedName("id") @Expose private String id; @SerializedName("name") @Expose private String name; @SerializedName("desc") @Expose private String desc; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDesc() { return desc; } public void setDesc(String desc) { this.desc = desc; } }
Since the json is an array, we can parse it as a list like this <List<Cars>> from android. So add the below code in your MainActivity.java file
MainActivity.java
private void parseJson() { Retrofit retrofit = new Retrofit.Builder() .baseUrl("https://navneet7k.github.io/") .addConverterFactory(GsonConverterFactory.create()) .build(); RequestInterface request = retrofit.create(RequestInterface.class); Call<List<Cars>> call1=request.getJson(); call1.enqueue(new Callback<List<Cars>>() { @Override public void onResponse(Call<List<Cars>> call, Response<List<Cars>> response) { Toast.makeText(MainActivity.this,"Success!",Toast.LENGTH_SHORT).show(); } @Override public void onFailure(Call<List<Cars>> call, Throwable t) { Toast.makeText(MainActivity.this,"Failure",Toast.LENGTH_SHORT).show(); } }); }
RequestInterface.java
interface RequestInterface { @GET("sample_array.json") Call<List<Cars>> getJson(); }
Download free source code
You may also check this tutorial to parse a json array into recyclerview



Join the conversation