Извлечение информации о времени из json с помощью Retrofit - PullRequest
0 голосов
/ 04 июля 2019

У меня проблемы с получением информации из JSON.Я не уверен, использовать ли ArrayList или любой другой тип данных для получения данных с JSON-сервера.

Я пытался получить данные, используя

ArrayList<String>

в модели.

Ниже приведен формат данных JSON

[
   {
    "sun_timing": "{\"sun_from\":\"12:30\",\"sun_to\":\"4:30\"}",
    "mon_timing": "{\"mon_from\":\"3:00\",\"mon_to\":\"4:30\"}"

   },
   {
    "sun_timing": "{\"sun_from\":\"12:30\",\"sun_to\":\"4:30\"}",
    "mon_timing": "{\"mon_from\":\"3:00\",\"mon_to\":\"4:30\"}"

   }
]

Я хочуполучить все данные sun_timing и данные mon_timing.

Это данные sun_from, sun_to и mon_from, mon_to.

Ответы [ 2 ]

0 голосов
/ 04 июля 2019

Ваш простой Java-объект (POJO) для вашего json выглядит следующим образом:

public class Example {

    @SerializedName("sun_timing")
    @Expose
    private String sunTiming;

    @SerializedName("mon_timing")
    @Expose
    private String monTiming;

    public String getSunTiming() {
        return sunTiming;
    }

    public void setSunTiming(String sunTiming) {
        this.sunTiming = sunTiming;
    }

    public String getMonTiming() {
        return monTiming;
    }

    public void setMonTiming(String monTiming) {
        this.monTiming = monTiming;
    }
}

См. Также: https://stackoverflow.com/a/40973753/10452701 для получения более подробной информации о Какчтобы получить JSON через Rerofit2 .

0 голосов
/ 04 июля 2019

попробуйте это работает для меня

 private List<String> getSunList() {

    ArrayList sunList = new ArrayList<String>()
    String sun_json = your_json_string
    try {
        JSONObject jsonObject = new JSONObject(sun_json)
        Log.d(TAG, "jsonObject: "+jsonObject)
        Log.d(TAG, "jsonObject: "+sun_json)
        JSONArray jsonArray = jsonObject.getJSONArray("sun_timing")
        for (i in 0 until jsonArray.length())
        {
            JSONObject obj = jsonArray.get(i) as JSONObject
            String sun_from = obj.getString("sun_from")
            String sun_to = obj.getString("sun_to")
            sunList.add(sun_from)
            Log.d(TAG, "obj= "+obj)

        }

    }
    catch (e: java.lang.Exception)
    {

    }

    return sunList
}
...