you should use Gson library as json parser.
add this dependency in app gradle file :
implementation 'com.google.code.gson:gson:2.8.1'
create raw folder in res folder. then copy your json file to raw folder.(its better to use raw folder instead of assets). for example you have this json file named my_json.json
{
"list": [
{
"name": "Faraz Khonsari",
"age": 24
},
{
"name": "John Snow",
"age": 28
},
{
"name": "Alex Kindman",
"age": 29
}
]
}
then create your model class:
public class MyModel {
@SerializedName("list")
public ArrayList<MyObject> list;
static public class MyObject {
@SerializedName("name")
public String name;
@SerializedName("age")
public int age;
}
}
then you should create a function to read your json file :
public String inputStreamToString(InputStream inputStream) {
try {
byte[] bytes = new byte[inputStream.available()];
inputStream.read(bytes, 0, bytes.length);
String json = new String(bytes);
return json;
} catch (IOException e) {
return null;
}
}
then read your json file:
String myJson=inputStreamToString(mActivity.getResources().openRawResource(R.raw.my_json));
then convert json string to model:
MyModel myModel = new Gson().fromJson(myJson, MyModel.class);
now your Json have been converted to a model ! Congratulation!