Общие настройки Android Json

Как сохранить объект JSON, который содержит список в объекте Json общих предпочтений, например:

{
      "id": 6,
      "name": "1-B",
      "section": "B",
      "batchCode": "1-2015-2016-B",
      "courseId": 1,
      "sessionId": 2,
      "course": null,
      "startDate": "2015-03-31",
      "endDate": "2016-03-30"
    },
    {
      "id": 5,
      "name": "1-A",
      "section": "A",
      "batchCode": "1-2015-2016-A",
      "courseId": 1,
      "sessionId": 2,
      "course": null,
      "startDate": "2015-03-31",
      "endDate": "2016-03-30"
    },

Как получить данные при хранении в общих перференциях


person Pradeep    schedule 03.01.2017    source источник
comment
ссылаться stackoverflow.com/questions/5918328/   -  person sajan    schedule 03.01.2017


Ответы (8)


1. преобразовать jsonObject в String

String yourString = jsonObject.toString();

2. Сохранить.

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
 editor.putString("YOURKEY",yourString  );
 editor.commit();

3. Получить его.

  SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
    String name = prefs.getString("YOURKEY", null);//If there is no YOURKEY found null will be the default value.
  }
person Charuක    schedule 03.01.2017

  • Преобразуйте jsonobject в String

 String myJson = jsonObject.toString();

  • Теперь сохраните это общее предпочтение

editor.putString("MY_JSON", myJson);
    editor.commit();

person Mrinmoy    schedule 03.01.2017

Во время хранения данных вы должны поступить так.

SharedPreferences.Editor editor = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE).edit();
editor.putString("JsonDataKey", yourJsonData);
editor.commit();

и для получения строки json

SharedPreferences prefs = getSharedPreferences(MY_PREFS_NAME, MODE_PRIVATE); 
String restoredText = prefs.getString("text", null);
if (restoredText != null) {
  String josnData = prefs.getString("JsonDataKey", "nothing");
}
person Arati    schedule 03.01.2017

Просто преобразуйте свой json в строку и сохраните ключ следующим образом:

Editor editor = sharedpreferences.edit();
editor.putString("json_key", "value");
editor.commit();

А затем, чтобы вернуть свой json, сделайте следующее:

    SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
   String storedJson= preferences.getString("json_key", null);
person Anjali    schedule 03.01.2017

Создавайте POJO как:

public class JsonObj {
String id = "";
String name = "";
String section = "";
String batchCode = "";
String courseId = "";
String sessionId = "";
String course = "";
String startDate = "";
String endDate = "";

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 getSection() {
    return section;
}

public void setSection(String section) {
    this.section = section;
}

public String getCourseId() {
    return courseId;
}

public void setCourseId(String courseId) {
    this.courseId = courseId;
}

public String getBatchCode() {
    return batchCode;
}

public void setBatchCode(String batchCode) {
    this.batchCode = batchCode;
}

public String getSessionId() {
    return sessionId;
}

public void setSessionId(String sessionId) {
    this.sessionId = sessionId;
}

public String getCourse() {
    return course;
}

public void setCourse(String course) {
    this.course = course;
}

public String getStartDate() {
    return startDate;
}

public void setStartDate(String startDate) {
    this.startDate = startDate;
}

public String getEndDate() {
    return endDate;
}

public void setEndDate(String endDate) {
    this.endDate = endDate;
}

}

Помните - сделайте необходимый синтаксический анализ.

Затем создайте следующий класс

public class SettingPreferences {
public static void setJsonObjValueInPref(Context context,
                                         String prefKey, JsonObj jsonObj) {
    Editor editor = context.getSharedPreferences(PREFS_NAME,
            Context.MODE_PRIVATE).edit();
    Gson gson = new Gson();
    String json = gson.toJson(jsonObj);
    editor.putString(prefKey, json);
    editor.commit();

}

public static JsonObj getJsonObjValueFromPref(
        Context context, String prefKey, String defValue) {

    SharedPreferences preferences = context.getSharedPreferences(
            PREFS_NAME, Context.MODE_PRIVATE);
    Gson gson = new Gson();
    String jsonData = preferences.getString(prefKey, "");
    Type type = new TypeToken<ObjProfileDetails>() {
    }.getType();
    JsonObj jsonObj = new JsonObj();
    jsonObj = gson.fromJson(jsonData, type);
    return jsonObj;

}

}

Убедитесь, что вы добавляете эту строку -

dependencies {

compile 'com.google.code.gson:gson:2.2.4'

}

person Ashwini.patil    schedule 03.01.2017

Вы можете использовать Gson следующим образом: -

Добавить зависимость: -

compile 'com.google.code.gson:gson:2.2.4'

При сохранении данных: -

Gson gson;
gson = new Gson();

try {
        SharedPreferences.Editor editor = mPrefs.edit();
        String json = gson.toJson(yourArrayList);
        editor.putString("jSonData", json);
        editor.commit();
    } catch (Exception e) {
        e.printStackTrace();
    }

При получении данных: -

String markers1 = mPrefs.getString("jSonData", null);
        if (markers1 != null) {
            java.lang.reflect.Type type = new TypeToken<ArrayList<String>>() {
            }.getType();
            newArrayList = gson.fromJson(markers1, type);
        }
person priyanka kataria    schedule 03.01.2017

 Try this

Магазин

 SharedPreferences.Editor editor = getSharedPreferences("MY_PREFS_NAME",    MODE_PRIVATE).edit();
editor.putString("jsonKEY","Your values from json parsing"  );
editor.commit();

Получить это

 SharedPreferences prefs = getSharedPreferences("MY_PREFS_NAME", MODE_PRIVATE); 
String name = prefs.getString("jsonKEY", null);
person MurugananthamS    schedule 03.01.2017

Преобразуйте JsonArray в String, вызвав следующий код

JsonArray json = // object

сохраните его в SharedPreferences

try {
        SharedPreferences.Editor editor = mPrefs.edit();
        String string new Gson().toJson(json);
        editor.putString("jSonData", string);
        editor.commit();
} catch (Exception e) {
        e.printStackTrace();

}

Верни его!

Gson g = new Gson();
String result = mPrefs.getString("jSonData",null)
g.fromJson(result, JsonArray.class);
person Tulsi    schedule 03.01.2017