You can use GSON to convert Object -> JSON(.toJSON) and JSON -> Object(.fromJSON).
1.build.gradle
dependencies { ... compile 'com.google.code.gson:gson:2.7' }
2.MainActivity.java
public class Main2Activity extends AppCompatActivity { private final String PREFS_TAG = "APP_PRE"; private final String PRODUCT_TAG = "APP_DATA"; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main2); } private List<MatchItem> getDataFromSharedPreferences(){ Gson gson = new Gson(); SharedPreferences sharedPref = getApplicationContext().getSharedPreferences(PREFS_TAG, Context.MODE_PRIVATE); String jsonPreferences = sharedPref.getString(PRODUCT_TAG, "[]"); Type type = new TypeToken<List<MatchItem>>() {}.getType(); return gson.fromJson(jsonPreferences, type); } private void setDataFromSharedPreferences(List<MatchItem> list){ Gson gson = new Gson(); String jsonString = gson.toJson(list); SharedPreferences sharedPref = getApplicationContext().getSharedPreferences(PREFS_TAG, Context.MODE_PRIVATE); SharedPreferences.Editor editor = sharedPref.edit(); editor.putString(PRODUCT_TAG, jsonString).apply(); editor.commit(); } }