как читать объект JSON, используя залп

Ядро Linux 3 (> 2.6.38) имеет некоторые проблемы с питанием.

Кстати, ваш ноутбук имеет гибридную графическую технику (например: NVidia Optimus)?

-1
задан 13 August 2018 в 15:43

3 ответа

попробуйте:

      Volley.newRequestQueue(getActivity()).add(new StringRequest(Request.Method.GET,"api_link", new Response.Listener<String>() {
        @Override
        public void onResponse(String s) {
            JSONObject mJsonObject;

            try {
                JSONArray mJsonArray=new JSONArray(s)
                JSONArray mJsonArray1 = mJsonArray.getJSONArray("products");
                int a = mJsonArray1.length();
                for (int i = 0; i < a; i++) {
                    JSONObject jo = mJsonArray1.getJSONObject(i);
                    homeModel.setID(jo.getString("color"));
                    //AND add somthing code u want

                }
            } catch (JSONException e) {
                Toast.makeText(getActivity(), "Exception", Toast.LENGTH_SHORT).show();
                e.printStackTrace();
            }

И мой список HomeModel:

 public class HomeModel {
public String ID;
public String pic;
public String color;

public String getcolor() {
    return color;
}

 public String setcolor(String color) {
   this.color=String color
   }

 }
0
ответ дан 15 August 2018 в 17:00

Вы выбираете неправильные типы данных. Измените свой код следующим образом:

private void fetchPosts() {
    StringRequest request = new StringRequest(Request.Method.GET, API_BASE_URL, onPostsLoaded, onPostsError);
    requestQueue.add(request);
}

private final Response.Listener<String> onPostsLoaded = new Response.Listener<String>() {
    @Override
    public void onResponse(String response) {
        JSONObject obj = new JSONObject(response);

        // use obj to get your data
    }
};

Когда есть Response.Listener<JSONObject>, у вас есть JSONObject в ответ:

Response.Listener<String>     ----->    public void onResponse(String response)
Response.Listener<JSONObject> ----->    public void onResponse(JSONObject response)
0
ответ дан 15 August 2018 в 17:00

Вы должны начать с документации. Вместо того, чтобы вытаскивать слушателей вручную, вы можете использовать IDE, чтобы извлечь их для вас.

Тип слушателя - это то, на что реагирует.

Вы говорите, что отвечаете с объектом JSON, но метод не реализует правильную подпись

. Это должно скомпилировать

private final Response.Listener<JSONObject> onPostsLoaded = new Response.Listener<JSONObject>() {
    @Override
    public void onResponse(JSONObject response) {
        Log.i(TAG, String.valueOf(response));

И поскольку у вас есть Gson, начните с документации

0
ответ дан 15 August 2018 в 17:00
  • 1
    У меня все еще есть ошибка в: private void fetchPosts () {JsonObjectRequest request = new StringRequest (Request.Method.GET, API_BASE_URL, onPostsLoaded, onPostsError); requestQueue.add (запрос); } ...... эта строка отмечена красным: StringRequest (Request.Method.GET, API_BASE_URL, onPostsLoaded, onPostsError); – LetsamrIt 13 August 2018 в 15:51
  • 2
    Вы не можете назначить объект StringRequest переменной JsonObjectRequest – cricket_007 13 August 2018 в 15:52
  • 3
    хорошо. i chnaged it..but, у меня есть ошибка, пожалуйста, help.error в той же строке: JsonObjectRequest request = new JsonObjectRequest (Request.Method.GET, API_BASE_URL, onPostsLoaded, onPostsError); – LetsamrIt 13 August 2018 в 15:55
  • 4
    Добавить параметр null после URL-адреса – cricket_007 13 August 2018 в 15:56

Другие вопросы по тегам:

Похожие вопросы: