Translate

Monday, April 20, 2020

Code to Parse JSON array to Java array or list in Android/Java

users.json
[
    {
      "name": "Alex",
      "id": 1
    },
    {
      "name": "Brian",
      "id": 2
    }
]
User.java
public class User 
{
    private long id;
    private String name;
     
    public long getId() {
        return id;
    }
    public void setId(long id) {
        this.id = id;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return "User [id=" + id + ", name=" + name + "]";
    }
}


1.Array of objects

Java program to deserialize json array as root – to Java array of objects.
Parse JSON Example
String userJson = "[{'name': 'Alex','id': 1}, "
                + "{'name': 'Brian','id':2}, "
                + "{'name': 'Charles','id': 3}]";
         
Gson gson = new Gson(); 

User[] userArray = gson.fromJson(userJson, User[].class);  

for(User user : userArray) {
    System.out.println(user);
}

2. List of objects

Java program to deserialize json array as root – to Java list of objects.
Parse JSON Example
import java.lang.reflect.Type;
import java.util.ArrayList;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

String userJson = "[{'name': 'Alex','id': 1}, "
                + "{'name': 'Brian','id':2}, "
                + "{'name': 'Charles','id': 3}]";
         
Gson gson = new Gson(); 

Type userListType = new TypeToken<ArrayList<User>>(){}.getType();

ArrayList<User> userArray = gson.fromJson(userJson, userListType);  

for(User user : userArray) {
    System.out.println(user);
}
Program output.
Console
User [id=1, name=Alex]
User [id=2, name=Brian]
User [id=3, name=Charles]

No comments:

Post a Comment

Could not identify launch activity: Default activity not found : Error while Launching activity

Problem : I got this Error , When I tried to create an application without any Activity . Basically like to develop an Android Headless appl...